1.问题描述
爬取网页信息时,用到了requests库,出现报错
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
报错如下:
错误语句
urls.append(requests.get(url, params=i).json().get('data'))
2.问题分析
缺少了请求头参数,不加请求头,requests无法保证与服务器之间的会话,每次连接服务器都被当作一条新请求直接让他跳转,造成多次重定向问题,抛出错误。(奇怪的是我之前不加也没事)
3.解决方案
原语句改为
urls.append(requests.get(url, params=i,headers = headers).json().get('data'))
即对requests.get添加请求头参数
代码开头 添加请求头参数
import requests
import os
headers = {
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'
}