首頁技術(shù)文章正文

爬蟲開發(fā)必學(xué)的8個技巧

更新時間:2017-11-14 來源:黑馬程序員 瀏覽量:

現(xiàn)在,有越來越多所謂的“教程”來幫助我們提高爬蟲的易用性。本人收集了一些在爬蟲開發(fā)中容易出錯和被難住的小問題,提供了參考的意見和想法,以便于幫助爬蟲開發(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ù)一個代理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ā)提交采集效率。友情提示:獲得更多學(xué)科學(xué)習(xí)視頻+資料+源碼,請加QQ:3276250747。


本文版權(quán)歸黑馬程序員人工智能+Python學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!


作者:黑馬程序員人工智能+Python培訓(xùn)學(xué)院


首發(fā):http://python.itheima.com/


分享到:
在線咨詢 我要報(bào)名
和我們在線交談!