0
我正在嘗試從使用Python 3.4的urllib的網站讀取HTML,並遇到問題。使用什麼Python urrlib user_agent字符串?
我試圖下載一個頁面,意大利動詞「essere」的共軛。我可以訪問兩個來源:wordreference.com和verbix.com。
使用此代碼,我可以成功地從wordreference.com獲得HTML:
url = 'http://www.wordreference.com//conj//ItVerbs.aspx?v=essere'
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
values = {'name' : 'John',
'location' : 'USA',
'language' : 'Python' }
headers = { 'User-Agent' : user_agent}
data = urllib.parse.urlencode(values)
data = data.encode('utf-8')
req = urllib.request.Request(url, data, headers)
with urllib.request.urlopen(req) as response:
verbHTMLStr = response.read()
print(verbHTMLStr)
如果我的Verbix.com網站更改URL的訪問
url = 'http://www.verbix.com//webverbix//Italian//essere.html'
返回的HTML適用於www.verbix.com/languages
當複製到瀏覽器的地址欄中時,這兩個URL字符串都會返回期望的頁面。
在我看來,Verbix網站想要看到其他東西作爲user_agent,但我無法弄清楚它想要什麼。我已經嘗試了許多不同的user_agent字符串,並且都返回相同的錯誤頁面。
這不,事實上,當與Python 2.7運行,但給出了這樣的錯誤時,3.4運行工作:AttributeError的: '模塊' 對象有沒有屬性 '的urlopen' 顯然我希望瞭解的兩個版本的庫有所不同。 – johnz
哎呀 - 忘了感謝SIslam的回答......謝謝! – johnz