You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用requests请求coches.net返回403响应,该如何解决?

爬虫返回403问题修复方案

核心代码疏漏

你已经定义了模拟浏览器的headers请求头,但调用requests.get()方法时没有传入该参数,请求默认使用requests自带的UA标识,会被网站反爬系统直接识别为爬虫拦截,这是触发403响应的最直接原因。

修正对应请求行即可:

# 原来的写法
# response = requests.get(url)
# 修正后写法,传入headers,增加超时参数避免长时间挂起
response = requests.get(url, headers=headers, timeout=10)

额外优化建议(避免后续再次被拦截)

  • 补充完整请求头:除了User-Agent,还可以新增Accept、Accept-Language、Referer等字段,直接从浏览器开发者工具的网络面板复制该页面的真实请求头即可,和普通浏览器请求特征保持一致。
  • 随机化请求间隔:将固定1秒的等待改为随机间隔,避免固定请求频率被反爬识别:
    import random
    # 替换原来的time.sleep(1)
    time.sleep(random.uniform(1.5, 4))
    
  • 维持会话状态:使用requests.Session()发送请求,自动保存访问过程中产生的cookie,模拟真实用户的访问路径,先请求网站首页再爬取列表页,进一步降低被识别的概率。
  • 控制爬取总量:不要短时间内批量爬取过多页面,避免触发站点的频率限制。

补充说明

coches.net没有完全禁止python脚本访问,只是你的请求特征不符合普通用户的行为规则,被反爬策略拦截了,按照上述方案调整后即可正常获取数据。爬取前建议先查看站点的robots.txt规则,避免违反站点的爬取约定。

内容的提问来源于stack exchange,提问作者markk borras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:48:02