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

人工智能+Python:爬蟲開發(fā)必學(xué)的8個(gè)技巧

更新時(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/


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