我试图用Python 3.6.4抓取一个网站进行练习,但我一直收到TypeError
的意外关键字参数headers
。
有谁知道导致错误的原因是什么?
这是我的代码:
from urllib.request import Request, urlopen
url = 'https://www.inside.com.tw'
headers = {'User-Agent': 'Mozilla/5.0'}
html = urlopen(url, headers=headers).read()
我得到的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: urlopen() got an unexpected keyword argument 'headers'
答案 0 :(得分:1)
urllib
模块与首选requests
模块的工作方式不同。
您可以使用requests
的位置:
import requests
url = 'https://www.inside.com.tw'
headers = {'User-Agent': 'Mozilla/5.0'}
html = requests.get(url, headers=headers).content
使用urllib
,您需要创建一个Request
对象,并将标题添加到其中:
from urllib.request import Request, urlopen
url = 'https://www.inside.com.tw'
headers = {'User-Agent': 'Mozilla/5.0'}
request = Request('https://www.inside.com.tw', headers=headers)
html = urlopen(request).read()