2015-01-04 77 views
0

當前嘗試爲url獲取html,並遇到由python中的請求模塊引發的錯誤。TooManyRedirects錯誤與請求模塊

什麼是處理TooManyRedirects請求引發的錯誤的首選方法?如何訪問該網站的HTML?

site = requests.get("http://www.hortonworks.com/blog/data-science-apacheh-hadoop-predicting-airline-delays") 

回答

0

來禁止重定向普通的方法是使用allow_redirects=False 對於例如,

site = requests.get(url,allow_redirects=False) 

但是,這是解決您的問題,

添加一個用戶代理解決了重定向問題併成功獲取頁面源代碼。

試試這個,

headers={"User-Agent":"Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"} 

url="http://www.hortonworks.com/blog/data-science-apacheh-hadoop-predicting-airline-delays" 

site = requests.get(url,headers=headers)  
print site.url 

-

Out[]: 'http://hortonworks.com/blog/data-science-apacheh-hadoop-predicting-airline-delays/' 
+0

由於這個工作。你能解釋爲什麼添加標題解決了這個問題嗎? – mwoods 2015-01-05 09:16:57

+0

@mwoods可能有很多原因,我能猜到的最好的是hortonworks不喜歡有人刮他們的網站。使用Python的默認用戶代理是一個指示。在我的回答中使用上面所述的用戶代理假定請求顯示爲來自Chrome/Mozilla的使其正常運行的請求。 – 2015-01-05 15:24:31