TypeError:urlopen()得到了一个意外的关键字参数' headers' _Python3

时间:2018-02-18 16:20:17

标签: python-3.x web-scraping

我试图用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'

1 个答案:

答案 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()