更新時間:2017-11-14 來源:黑馬程序員 瀏覽量:
現(xiàn)在,有越來越多所謂的“教程”來幫助我們提高爬蟲的易用性。本人收集了一些在爬蟲開發(fā)中容易出錯和被難住的小問題,提供了參考的意見和想法,以便于幫助爬蟲開發(fā)者。
1、爬蟲亂碼(網(wǎng)址亂碼、返回頁面亂碼、提交數(shù)據(jù)亂碼)
關(guān)于爬蟲亂碼有很多群友的各式各樣的問題,不僅是中文亂碼,還包括一些如日文、韓文 、俄文、藏文之類的亂碼處理,因此確定源網(wǎng)頁的編碼。
2、含有驗證碼表單登陸
屬于post請求,即先向服務(wù)器發(fā)送表單數(shù)據(jù),需要驗證碼的情況可以使用帶驗證碼登陸的cookie解決。
3、 使用代理
適用情況:限制IP地址情況,最好的辦法就是維護一個代理IP池。
4、限制頻率情況
限制爬蟲訪問網(wǎng)站的頻率來避免被網(wǎng)站禁掉。
5、 “反盜鏈”
加上Referer,偽裝成瀏覽器。
6、自動化測試工具Selenium
Selenium是一款自動化測試工具。它能實現(xiàn)操縱瀏覽器,包括字符填充、鼠標點擊、獲取元素、頁面切換等一系列操作。
7、驗證碼識別
利用開源的Tesseract-OCR。
8、多線程抓取
高并發(fā)提交采集效率。友情提示:獲得更多學(xué)科學(xué)習視頻+資料+源碼,請加QQ:3276250747。
本文版權(quán)歸黑馬程序員人工智能+Python學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員人工智能+Python培訓(xùn)學(xué)院
首發(fā):http://python.itheima.com/