今天在写京东爬虫遇到了重定向问题,加了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可能会带来更多问题。