ウェブサイトから情報を取得するための小さなスクリプトに取り組んでいます。私はHTTPエラーに問題があります。python urllib.request - 動作する可能性が高いヘッダー
req = urllib.request.Request(lnk['href'],
headers={'User-Agent': 'Mozilla/5.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'})
page = urllib.request.urlopen(req)
このトリエステフェッチする、例えば、http://www.guru99.com/node-js-tutorial.html
は、私は406受け入れられないで終わる、エラーの長いシリーズを得る:
Traceback (most recent call last):
File "get_links.py", line 45, in <module>
page = urllib.request.urlopen(req)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 471, in open
response = meth(req, response)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 581, in http_response
'http', request, response, code, msg, hdrs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 509, in error
return self._call_chain(*args)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 443, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 589, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 406: Not Acceptable
私は(とヘッダを修正する必要があることを私が発見した周りのグーグル私は上記で行った)とヘッダーを修正する方法についてのチュートリアルがたくさんあります。例外はありません。
ほとんどのサイトで問題にならないような良いヘッダーがいくつかありますか?誰かが作成したPythonモジュールが既に作成されていますか?あなたが良い応答を得るまで、さまざまなヘッダーで何回か再試行する良い方法はありますか?
これはPythonを使ったWebスクラップを行うすべての人に問題があるようですが、まともな解決法を見つけられませんでした。