用python requests包来get百度百科网页报错

发布于 2022-09-06 02:28:51 字数 759 浏览 22 评论 0

代码如下

import requests

headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
    'Connection': 'keep-alive',
    'Host': 'baike.baidu.com',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
    'Upgrade-Insecure-Requests': 1
}
r = requests.get("https://baike.baidu.com/item/科比·布莱恩特/318773")

print(r.status_code)

运行报错:

 requests.exceptions.TooManyRedirects: Exceeded 30 redirects.

浏览器访问就不会有重定向,难道是百度发现了这是爬虫行为?
求教大家如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

踏月而来 2022-09-13 02:28:51

你的代码这行没把headers使用上去

r = requests.get("https://baike.baidu.com/item/科比·布莱恩特/318773", headers=headers)
月野兔 2022-09-13 02:28:51

allow_redirect=false

玉环 2022-09-13 02:28:51

需要加User-Agent信息 模拟浏览器访问

>>> import requests
>>> headers = {
...             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)\
...                 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36'
...         }
>>> r = requests.get("https://baike.baidu.com/item/科比·布莱恩特/318773", headers=headers)
>>> r
<Response [200]>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文