2015-10-04 53 views
1

越來越使用機械化刮,遇到HTTP錯誤403

mechanize._response.httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

後使用機械化的時候,從Screen scraping: getting around "HTTP Error 403: request disallowed by robots.txt"添加代碼忽略robots.txt的,但現在我收到此錯誤:

mechanize._response.httperror_seek_wrapper: HTTP Error 403: Forbidden

是有沒有辦法解決這個錯誤?

(當前代碼)

br = mechanize.Browser() 
br.set_handle_robots(False) 

回答

1

添加這行代碼的上面貼解決我是有問題的電流的兩行代碼下方:

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 
0

HTTP Error 403: request disallowed by robots.txt

是混亂和語義這裏錯了。這不是服務器基於解析robots.txt文件而從客戶端返回的​​錯誤,而是編寫/硬編碼403

此庫符合最基本的HTTP規範。 HTTP錯誤是由HTTP服務器爲客戶的權限創建的。他們不應該由客戶創建。這就像在高速公路上錯開了方向,並責怪其他司機。