网上有许多解决的办法,但是本人试了很多种办法解决,但是都没成功(不是说他们的方法不行,只是不适合我),在这里我把我知道方法说一下
1.添加请求头#requests带上自己浏览器信息的请求头,默认允许重定向
import requests
headers = {"User-Agent" : "User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"}
h=requests.get('https://baike.baidu.com',headers=headers)
print(h.request.headers)
不加请求头,requests无法保证与服务器之间的会话,每次连接服务器都被当作一条新请求直接让他跳转,不存在重定向环路的问题。
参考资料: requests关于Exceeded 30 redirects问题得出的结论.
requestData = requests.get(url,headers=header,allow_redirects=False) # allow_redirects禁止重定向
在这里不建议这么做,重定向的问题根本不在于页面跳转了,而是页面为什么会多次跳转。
参考资料: requests关于Exceeded 30 redirects问题得出的结论.
看一下你是否在使用自己组合的链接进行访问,这是一种零碎页面,此网页有重定向循环
https://www.thenewboston.com/forum/recent_activity.php?page= “ + str(page))
如果有的话加上allow_redirects=False,你需要自己确定要如何处理搜寻器中此类损坏的页面。
参考资料: Web Crawler - TooManyRedirects: Exceeded 30 redirects. (python).