web-dev-qa-db-ja.com

Python 3-カスタムヘッダーをurllib.requestリクエストに追加します

Pythonでは、次のコードがWebページのHTMLソースを取得します。

import urllib.request
url = "https://docs.python.org/3.4/howto/urllib2.html"
response = urllib.request.urlopen(url)

response.read()

Urllib.requestを使用する場合、次のカスタムヘッダーをリクエストに追加するにはどうすればよいですか?

headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' }
6
rovyko

最初にリクエストオブジェクトを作成し、それをurlopenに提供することで、リクエストヘッダーをカスタマイズできます。

import urllib.request
url = "https://docs.python.org/3.4/howto/urllib2.html"
hdr = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' }

req = urllib.request.Request(url, headers=hdr)
response = urllib.request.urlopen(req)
response.read()

出典: Python 3.4 Documentation

15
dexgecko
import urllib.request

opener = urllib.request.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib.request.install_opener(opener)
response = urllib.request.urlopen("url")
response.read()

詳細については、pythonドキュメント: https://docs.python.org/3/library/urllib.request.html を参照してください。 =

3
Lost Crotchet