1. 程式人生 > >乾貨|爬蟲被封的幾個常見原因

乾貨|爬蟲被封的幾個常見原因

爬蟲採集成為很多公司企業個人的需求,但正因為如此,反爬蟲的技術也層出不窮,像時間限制、IP限制、驗證碼限制等等,都可能會導致爬蟲無法進行,所以也出現了很多像代理IP、時間限制調整這樣的方法去接觸反爬蟲限制,當然具體的操作方法需要你針對性的去研究。
爬蟲採集資料過程中經常會出現受限問題,那麼具體哪些原因會導致爬蟲被禁封呢?
1、檢查JavaScript
如果你從網路伺服器收到的頁面是空白的,缺少資訊,或其遇到他不符合你預期的情況(或者不是你在瀏覽器上看到的內容),有可能是因為網站建立頁面的JavaScript執行有問題。
2、檢查正常瀏覽器提交的引數
如果你準備向網站提交表單或發出POST請求,記得檢查一下頁面的內容,看看你想提交的每個欄位是不是都已經填好,而且格式也正確。用Chrome瀏覽器的網路面板(快捷鍵F12開啟開發者控制檯,然後點選“Network”即可看到)檢視傳送到網站的POST命令,確認你的每個引數都是正確的。
3、是否有合法的Cookie
如果你已經登入網站卻不能保持登入狀態,或者網站上出現了其他的“登入狀態”異常,請檢查你的cookie。確認在載入每個頁面時cookie都被正確呼叫,而且你的cookie在每次發起請求時都發送到了網站上。
4、IP被封禁
如果你在客戶端遇到了HTTP錯誤,尤其是403禁止訪問錯誤,這可能說明網站已經把你的IP當作機器人了,不再接受你的任何請求。你要麼等待你的IP地址從網站黑名單裡移除,要麼就換個IP地址(可以使用代理IP,比如極光代理

)。如果你確定自己並沒有被封殺,那麼再檢查下面的內容。
在這裡插入圖片描述
5、確認你的爬蟲在網站上的速度不是特別快
快速採集是一種惡習,會對網管的伺服器造成沉重的負擔,還會讓你陷入違法境地,也是IP被網站列入黑名單的首要原因。給你的爬蟲增加延遲,讓它們在夜深人靜的時候執行。切記:匆匆忙忙寫程式或收集資料都是拙劣專案管理的表現;應該提前做好計劃,避免臨陣慌亂。
6、修改你的請求頭(必須做的事情)
有些網站會封殺任何聲稱自己是爬蟲的訪問者。如果你不確定請求頭的值怎樣才算合適,就用你自己瀏覽器的請求頭吧。
7、確認你沒有點選或訪問任何人類使用者通常不能點選或接入的資訊。