scrapy 302重定向解决方法

解决了scrapy 302重定向拿不到数据的问题

今天在写京东爬虫遇到了重定向问题,加了headers(ua也加了)还是不解决问题。每个网站的问题都不同,像拉钩,BOSS直聘可能对referer有要求,而京东即使加了referer也无济于事。暂时的解决办法是:

  • 在Scrapy中的Request中添加 dont_filter=True ,因为Scrapy是默认过滤掉重复的请求URL,添加上参数之后即使被重定向了也能请求到正常的数据了。
  • 在Scrapy框架中的 settings.py文件里添加
HTTPERROR_ALLOWED_CODES = [301]

参考:https://www.pythonf.cn/read/154169

这个其实并没有真正解决问题,302重定向还是存在,只不过重试拿到了数据,代价就是每个请求都要两次才能拿到数据。我估计加上cookie有可能解决问题,但是加cookie可能会带来更多问题。

俄罗斯叶卡捷琳堡VPS测评

Gcorelabs VPS测评

对于这种VPS,无非就是爱国上网,做个小型web服务器比如爬虫,或者搭个博客网站。

这款88卢布一个月,也就人民币10块钱,1TB流量(双向),虽然比不上热门的伯力或者海参崴的服务器,但是性价比还是很高的,uploads 500Mbps,downloads1Gbps,但是到了国内肯定大大折扣了,完全取决于出入境线路质量和带宽。如果是看视频,只要满足5Mbps以上就能稳定看1080p高清。

晚高峰也测试过,直连5-10Mbps,套cloudflare CDN(免费版)只是ping值降低了但是速度提升有限。但是,中转国内5Mbps或者香港30Mbps的腾讯云都能跑满5/30的带宽,因为腾讯云的线路质量实在太好了。关于中转可以参考另一篇博客firewalld中转流量