码迷,mamicode.com
首页 > 编程语言 > 详细

python Scrapy框架 报301

时间:2019-10-22 18:51:03      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:方便   com   code   baidu   查看   拒绝   filter   tps   setting   

在使用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

标签:方便   com   code   baidu   查看   拒绝   filter   tps   setting   

原文地址:https://www.cnblogs.com/sophia201552/p/11721198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!