requests.exceptions.TooManyRedirects: Exceeded 30 redirects

https://blog.csdn.net/weixin_42081389/article/details/89521297

当爬虫时报错:requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
可以 request请求时添加allow_redirects=False,默认时allow_redirects=True,所以这样就可以解决我的问题了。

resp = requests.get(url=url, headers=headers,allow_redirects=False)

这个不报错了,但是返回米有数据了。 

另一个解决方法:

# coding:utf-8
import requests
kv = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"}
r = requests.get(url, headers = kv, allow_redirects=False)
print r.status_code
new_url = r.headers["Location"]

https://www.jianshu.com/p/19f631cbb21a

拿到新url,也不能拿到数据 

一开始使用requests.get(url)就开始报错,后面查了下资料,说需要在后面加上allow_redirects=False。可惜当加上这个条件的时候,直接返回304,获取不了实际内容。还有的资料显示是因为没有hearders的问题,后面设置上去了也是不行。


后面想到是否是因为重定向,而导致hearders没有维持,后面通过session去get请求

发现可以正常访问

转自:作者:咸鱼功阀术
链接:https://www.jianshu.com/p/bcf8bf2b3152
 

09-11 18:56