import urllib2
req = urllib2.Request('http://www.amazon.com/Sweet-Virgin-Organic-Coconut-13-5oz/dp/B00Q5CIL4Y', headers={ 'User-Agent': 'Mozilla/5.0' })
html = urllib2.urlopen(req).read()
print len(html)
這是我可以製作的最小示例。如果你運行了5次,那麼響應的長度將是5769,而其他時間則是正常的可用響應。urllib2請求返回5次的不同頁面大約1次
怎麼了?
編輯:
不正確的響應:http://pastebin.com/d7zdy0uv
您是否打印出HTML以查看差異? – rlbond
我強烈建議使用['requests'](http://python-requests.org)。它使得使用網站**非常容易,包括直接分析標題的能力:'r = requests.get(url,headers = headers);打印r.headers'。 – MattDMo
我最初在Scrapy遇到問題,我剛剛花了最後一小時將問題分解成了這個簡單的示例。我多次查看了html中的差異。如果您使用chrome導航到該網站,則正確的響應與源代碼類似,但不正確的響應在此處:http://pastebin.com/d7zdy0uv –