爬蟲如何解決500錯誤?


正常來說,500不是你的鍋。(參考閱讀:HTTP狀態碼詳解)

然而對爬蟲來說未必。

  1. 請求參數不對,該給的沒給或者給錯了,又碰上對方程序員代碼也得不夠優雅,就扔給了你一個500。這時你應該用瀏覽器工具看下正常的請求帶了什麼參數,你也照著做。
  2. 你被發現是爬蟲,對方故意扔個500來迷惑你。(這種事我自己就干過,不過現在我更喜歡返回一個『檢測到請求異常,你的相關信息已被記錄』,希望對方知趣點別再拿腳本工具跑了。)這種情況還是看瀏覽器工具,跟著模仿headers,盡量裝得像正常請求。
  3. 確實就是對方伺服器出問題了。如果只是偶發現象,那你要做的就是做好異常處理,避免你的爬蟲因為對方的問題而中斷。

如果是正常服務的api。 出現500錯誤可以肯定是爬蟲構造的請求入參,或者關鍵cookie沒有帶入造成的。打開瀏覽器訪問api。然後查看正常請求的request的header,cookie,採用的是get方法還是post方法。以及帶入的參數都填進去。多半是可以解決這種問題的


HTTP500狀態好像是伺服器錯誤,不關爬蟲的事。


推薦閱讀:

Python 學習完基礎語法知識後,如何進一步提高?
用Python爬網頁需要了解什麼背景知識?
python IDE 新手用什麼比較好?
為什麼Python爬蟲很少有人爬QQ空間呢?
Python3新手爬蟲求教?

TAG:爬蟲計算機網路 | Python入門 |