Scrapy爬蟲錯誤日誌彙總

1、數組越界問題(list index out of range)

原因:第1種可能情況:list[index]index超出範圍,也就是常說的數組越界。

   第2種可能情況:list是一個空的, 沒有一個元素,進行list[0]就會出現該錯誤,這在爬蟲問題中很常見,比如有個列表爬下來爲空,統一處理就會報錯。

 

解決辦法:從你的網頁內容解析提取的代碼塊中找找看啦(人家比較習慣xpath + 正則),加油 ~

---------------------------------------------------華麗的分隔符------------------------------------------------------------

2、http狀態代碼沒有被處理或不允許(http status code is not handled or not allowed)

原因:第1種情況:就是你的http狀態碼沒有被識別,需要在settings.py中添加這個狀態碼信息,相當於C語言中的#define預處理宏定義命令吧

           第2種情況:403是網頁狀態碼,表示訪問拒絕或者禁止訪問。應該是你觸發到網站的反爬蟲機制了。

 

解決辦法:如果是第1種情況,在你的setting.py中,添這麼一句短小精悍的話就OK了,緊接着就等着高潮吧您吶:HTTPERROR_ALLOWED_CODES = [403]

      如果是第2種情況,a.僞造報文頭部user-agent(網上有詳細教程不用多說)

               

                                          b.使用可用代理ip,如果你的代理不可用也會訪問不了

                                             

                                          c.是否需要帳戶登錄,使用cookielib模塊登錄帳戶操作
           如果以上方法還是不行,那麼你的ip已被拉入黑名單靜止訪問了。等一段時間再操作。如果等等了還是不行的話:
                                          d.使用phatomjs或者selenium模塊試試。
           還不行使用別的scrapy爬蟲框架看看。
           以上都不行,說明這網站反爬機制做的很好,爬不了了,沒法了,不過我覺得很少有這種做得很好的網站

---------------------------------------------------華麗的分隔符------------------------------------------------------------

2、item限制問題(keyError: xxx does not support field :某某某)

 原因:第一種情況:item.py中所需字段沒有預先定義完整

    第二種情況:在scrapy中item存在的意義就是

                #可以通過直接看items.py,可以看出來要爬取那些字段

                #防止我們在item["鍵名"]  輸入鍵名的時候輸入錯誤

                                 但是有些時候,我們可能會發現,有些需要爬取的不確定的地段,例如下圖

 

 

 

 

 

 

此篇文章持續更新,未完待續....

歡迎大家留下自己的問題,互相討論,互相學習,互相總結,,,,

 

原文出處:https://www.cnblogs.com/beiyi888/p/10437232.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章