urllib.request.urlopen()で特定のサイトが開かない場合
よくあるある。
記事書いたか覚えないけど、覚えてないことはまた書いておこう。
題名の通りで
- urlopen()で開かない
- timeout=nを指定してもだめ
な時にはUser-Agent情報を付与すること。
from urllib.request import urlopen url = "hogehoge" reqeust = urlopen(url)
とするが、User-Agentを付けるときは
headersを定義して、それをurlとともにRequestクラスの引数に与えること。
from urllib.request from urlopen from urllib.request from Request url = "hogehoge" headers = { "User-Agent": "XXXX" } request = Request(url=url, headers=headers) result = urlopen(request, timeout=5)
User-Agentの取得方法は以下を参考。