requests发起请求时正常返回数据scrapy请求返回406或者返回数据为空(亲测有效)

在测试爬虫时,使用requests编写脚本能正常获取数据,但相同代码在Scrapy中遇到406错误或空响应。原因是Scrapy对headers的处理方式不同,自动处理accept和cookie。通过修改headers中accept的格式并单独处理cookie,问题得以解决,成功获取到数据。
摘要由CSDN通过智能技术生成

今天测试某个平台的爬虫时使用requests正常写了个测试脚本把各种参数逆向出来以后发起请求可以正常得到数据,如图所示:

但是一摸一样的代码在scrapy中就会出现406情况,或者响应状态吗是200但是数据却为空

 

 去搜索了半天也没找到结果,后面去研究一下scrapy框架发现scrapy.requests和直接的requetsts还是有区别的,scrapy中会对headers中的accept和cookie自动处理,所以headers中的cookie要单独拿出来,还有accept也要改写,rtequests中的headers是这样的:

 应该将headers中的accept改写成这样:

 改写以后再次发起请求成功返回数据:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不喜欢穿格子衫的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值