我在千鋒Python培訓(xùn)學(xué)習(xí)也有一個(gè)多月的時(shí)間了,因?yàn)橹熬蛯?duì)爬蟲比較感興趣,通過這幾天對(duì)爬蟲簡單的學(xué)習(xí),感覺爬蟲的學(xué)習(xí)就像前端,入門容易,要想深入還是有一定難度的,下面就說說我對(duì)爬蟲的簡單認(rèn)識(shí)。
因?yàn)镻ython有很多現(xiàn)成的庫,如果你稍微了解一點(diǎn)HTML和網(wǎng)絡(luò)方面的知識(shí),看一下相關(guān)庫的示例代碼,會(huì)發(fā)現(xiàn)扒拉一個(gè)網(wǎng)頁到本地多兩行代碼,其中還有一行是import,這里的兩行代碼當(dāng)然不包括解析數(shù)據(jù),解析數(shù)據(jù)已經(jīng)是后話了,你首先得把數(shù)據(jù)抓取下來。可能入門抓的網(wǎng)頁沒有什么反爬蟲策略或者抓取數(shù)據(jù)量小沒有觸發(fā)反爬蟲系統(tǒng),感覺一下就爬到數(shù)據(jù)了,好像大部分時(shí)間都在解析數(shù)據(jù),但是我覺得真正難的是抓取,怎么解析完全看自己實(shí)際需要。
大部分人接觸爬蟲一開始都是從基本的靜態(tài)爬蟲開始,即不需要登錄就能訪問數(shù)據(jù),數(shù)據(jù)基本不是通過動(dòng)態(tài)加載的。而往深層次說,很多數(shù)據(jù)是需要登錄之后才能爬取的,很多數(shù)據(jù)是通過ajax請(qǐng)求的,那么你需要分析清楚哪個(gè)請(qǐng)求/提交了哪些數(shù)據(jù),請(qǐng)求/提交的機(jī)制是什么,這就要求你對(duì)http協(xié)議的認(rèn)識(shí)比較深刻。
另一大塊就是如何應(yīng)對(duì)服務(wù)器端的反爬蟲,拿簡單的來說,別人的數(shù)據(jù)希望用戶通過瀏覽器正常訪問,而非被“貪心又猥瑣”的爬蟲來訪問,所以服務(wù)器端都會(huì)想方設(shè)法辨別你是正常用戶還是爬蟲,比如驗(yàn)證碼就是一個(gè)令人很頭疼的問題,特別是一些變態(tài)的驗(yàn)證碼,比如12306的驗(yàn)證碼。此外爬蟲爬取的效率也是一個(gè)問題,所以爬取數(shù)據(jù)量大的時(shí)候,你不可能僅僅用自己的小筆記本,而要用到分布式爬蟲,利用多臺(tái)計(jì)算機(jī)來完成任務(wù)。
總的來說,通過在千鋒Python培訓(xùn)對(duì)爬蟲知識(shí)點(diǎn)的學(xué)習(xí),讓我對(duì)爬蟲有了深入的認(rèn)識(shí),對(duì)于數(shù)據(jù)量大的分布式爬蟲這些雖然還沒學(xué),但已經(jīng)很期待下周的課程了,希望自己能在爬蟲這塊有好的學(xué)習(xí)和發(fā)展。未來需要靠自己的雙手去爭取,所以接下來我一定會(huì)加努力學(xué)習(xí)的。
相關(guān)文章
了解千鋒動(dòng)態(tài)
關(guān)注千鋒教育服務(wù)號(hào)
掃一掃快速進(jìn)入
千鋒移動(dòng)端頁面
掃碼匿名提建議
直達(dá)CEO信箱