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