gpt4 book ai didi

python - 通过 Python 的 "requests"库发出 HTTP 请求时的 404 状态代码。但是页面在浏览器中加载正常

转载 作者:太空狗 更新时间:2023-10-30 01:56:47 28 4
gpt4 key购买 nike

我正在尝试通过网络抓取少数网站的内容。但我注意到,对于某些网站,我收到的响应状态代码为 200。但是,对于其他一些网站,我收到的响应状态代码为 404。但是当我在浏览器中打开这些网站(返回 404)时,它加载正常。我在这里缺少什么?

例如:

import requests

url_1 = "https://www.transfermarkt.com/jumplist/startseite/wettbewerb/GB1"
url_2 = "https://stackoverflow.com/questions/36516183/what-should-i-use-instead-of-urlopen-in-urllib3"

page_t = requests.get(url_2)
print(page_t.status_code) #Getting a Not Found page and 404 status

page = requests.get(url_1)
print(page.status_code) #Getting a Valid HTML page and 200 status

最佳答案

您提到的网站正在检查 "User-Agent"在请求的 header 中。您可以通过使用 Custom Headers 传递 dict 对象来伪造请求中的 "User-Agent"在您的 requests.get(..) 调用中。它会让它看起来像是来自实际的浏览器,并且您会收到响应。

例如:

>>> import requests
>>> url = "https://www.transfermarkt.com/jumplist/startseite/wettbewerb/GB1"
>>> headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}

# Make request with "User-Agent" Header
>>> response = requests.get(url, headers=headers)
>>> response.status_code
200 # success response

>>> response.text # will return the website content

关于python - 通过 Python 的 "requests"库发出 HTTP 请求时的 404 状态代码。但是页面在浏览器中加载正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48125006/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com