文章詳情頁
網(wǎng)頁爬蟲 - Python爬蟲如何正確判斷頁面是否可以爬取?
瀏覽:142日期:2022-09-03 13:50:21
問題描述
用Python27些爬蟲,想要爬取一些網(wǎng)站,我需要判斷網(wǎng)頁是否可以爬取,第一反應(yīng)是通過狀態(tài)碼來判斷,但是寫完運行后發(fā)現(xiàn)有許多目標(biāo)網(wǎng)站訪問它不存在的頁面時會返回一個404錯誤頁面,可他的狀態(tài)碼卻是200,結(jié)果爬回來好多根本就不存在的頁面。這個本來是網(wǎng)站設(shè)置的問題,但是現(xiàn)在也不能用狀態(tài)碼來判斷了,請問還有什么方法可以正確判斷一個頁面是不是404該不該爬?
問題解答
回答1:首先, 200 狀態(tài)碼,是網(wǎng)絡(luò)連接狀態(tài), 所以你只判斷200并不能滿足所有網(wǎng)站。
其次, 寫爬蟲嘛, 你應(yīng)該實際去看看這些網(wǎng)站的規(guī)則是什么,可以先人工判斷下, 找找規(guī)律, 比如看看網(wǎng)頁返回內(nèi)容是不是有什么特點之類的。
回答2:做個網(wǎng)頁內(nèi)容的判斷,如果他網(wǎng)頁里面沒有內(nèi)容就直接返回。
回答3:就算是頁面狀態(tài)碼200,返回的404頁面,應(yīng)該和正常能爬取的頁面html有不同的html元素吧,根據(jù)有沒有特定的html元素來判斷是不是404頁面也行的
相關(guān)文章:
1. html5 - 有可以一次性把所有 css外部樣式轉(zhuǎn)為html標(biāo)簽內(nèi)style=" "的方法嗎?2. javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?3. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變4. html - vue項目中用到了elementUI問題5. python - 如何判斷爬蟲已經(jīng)成功登陸?6. javascript - 求解答:實例對象調(diào)用constructor,此時constructor內(nèi)的this的指向?7. javascript - 這不是對象字面量函數(shù)嗎?為什么要new初始化?8. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風(fēng)格檢查怎么辦。。。9. javascript - 有什么比較好的網(wǎng)頁版shell前端組件?10. javascript - [js]為什么畫布里不出現(xiàn)圖片呢?在線等
排行榜

熱門標(biāo)簽