首页 > 解决方案 > TypeError: request() got an unexpected keyword argument 'header' - 当我使用标头时,403 错误 - 没有标头

问题描述

我正在尝试从该网站上抓取信息,但不断获取状态代码:403,因此尝试使用标头但得到TypeError: request() got an unexpected keyword argument 'header'

代码:

import requests

head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0'}
url = "https://www.accuweather.com/en/bd/dhaka/28143/current-weather/28143"
pageObj = requests.get(url, header = head)
print("Status code: " + str(pageObj.status_code)) # *for testing purpose*

错误:

Traceback (most recent call last):
  File "F:/Python/PyCharm Community Edition 2019.2.3/Workshop/WEB_SCRAPING/test2.py", line 6, in <module>
    pageObj = requests.get(url, header = head)
  File "F:\Python\PyCharm Community Edition 2019.2.3\Workshop\WEB_SCRAPING\venv\lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "F:\Python\PyCharm Community Edition 2019.2.3\Workshop\WEB_SCRAPING\venv\lib\site-packages\requests\api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
TypeError: request() got an unexpected keyword argument 'header'

Firefox 开发工具的标头

我究竟做错了什么?

标签: pythonhtmlpython-requestshttp-status-code-403

解决方案


参数的名称是headers,不是header。请参阅文档

利用pageObj = requests.get(url, headers=head)


推荐阅读