使用requests 模塊報錯
今天寫requests 模塊來爬取百度百科的時候,突然報了一個沒有見過的錯誤,爲了之後更好的學習,我決定記錄下來,畢竟好記性不如爛筆頭
報錯內容:requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
查了一下,發現是重定向的原因,不知道爲什麼會重定向,但是既然出現了這個問題,那就想辦法解決
我首先是將requests的請求添加中添加了allow_redirects=False這個屬性,默認是true
添加完之後執行,發現另外一個問題,這個時候返回狀態碼是 302,如下圖:
我們採取第二個辦法:使用session
代碼如下:
sessions = requests.session()
sessions.headers[
‘User-Agent’] = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36’
html = sessions.get(‘xxxx’)
print(html)
這個時候返回的狀態碼爲200 ,成功解決!