python Scrapy框架 报301
Posted sophia201552
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Scrapy框架 报301相关的知识,希望对你有一定的参考价值。
在使用Scrapy框架中总是遇到这类问题,在此留下记录,方便查阅、
三种解决方式:
解决(一)
在Request中将scrapy的dont_filter=True,因为scrapy是默认过滤掉重复的请求URL,添加上参数之后即使被重定向了也能请求到正常的数据了
解决(二)
在scrapy框架中的 settings.py文件里添加
HTTPERROR_ALLOWED_CODES = [301]
解决(三)
使用requests模块遇到301和302问题时
url = ‘https://www.baidu.com/‘
html = requests.get(url, headers=headers, allow_redirects=False)
return html.headers[‘Location‘]
1
2
3
allow_redirects=False的意义为拒绝默认的301/302重定向从而可以通过html.headers[‘Location’]拿到重定向的URL。
解决(四)
查看链接是否更改为协议类型,如果之前是http类型的,改为https也会报301
以上是关于python Scrapy框架 报301的主要内容,如果未能解决你的问题,请参考以下文章