我在千鋒Python培訓(xùn)學(xué)習(xí)也有一個(gè)多月的時(shí)間了,因?yàn)橹熬蛯?duì)爬蟲(chóng)比較感興趣,通過(guò)這幾天對(duì)爬蟲(chóng)簡(jiǎn)單的學(xué)習(xí),感覺(jué)爬蟲(chóng)的學(xué)習(xí)就像前端,入門容易,要想深入還是有一定難度的,下面就說(shuō)說(shuō)我對(duì)爬蟲(chóng)的簡(jiǎn)單認(rèn)識(shí)。
因?yàn)镻ython有很多現(xiàn)成的庫(kù),如果你稍微了解一點(diǎn)HTML和網(wǎng)絡(luò)方面的知識(shí),看一下相關(guān)庫(kù)的示例代碼,會(huì)發(fā)現(xiàn)扒拉一個(gè)網(wǎng)頁(yè)到本地多兩行代碼,其中還有一行是import,這里的兩行代碼當(dāng)然不包括解析數(shù)據(jù),解析數(shù)據(jù)已經(jīng)是后話了,你首先得把數(shù)據(jù)抓取下來(lái)。可能入門抓的網(wǎng)頁(yè)沒(méi)有什么反爬蟲(chóng)策略或者抓取數(shù)據(jù)量小沒(méi)有觸發(fā)反爬蟲(chóng)系統(tǒng),感覺(jué)一下就爬到數(shù)據(jù)了,好像大部分時(shí)間都在解析數(shù)據(jù),但是我覺(jué)得真正難的是抓取,怎么解析完全看自己實(shí)際需要。

大部分人接觸爬蟲(chóng)一開(kāi)始都是從基本的靜態(tài)爬蟲(chóng)開(kāi)始,即不需要登錄就能訪問(wèn)數(shù)據(jù),數(shù)據(jù)基本不是通過(guò)動(dòng)態(tài)加載的。而往深層次說(shuō),很多數(shù)據(jù)是需要登錄之后才能爬取的,很多數(shù)據(jù)是通過(guò)ajax請(qǐng)求的,那么你需要分析清楚哪個(gè)請(qǐng)求/提交了哪些數(shù)據(jù),請(qǐng)求/提交的機(jī)制是什么,這就要求你對(duì)http協(xié)議的認(rèn)識(shí)比較深刻。
另一大塊就是如何應(yīng)對(duì)服務(wù)器端的反爬蟲(chóng),拿簡(jiǎn)單的來(lái)說(shuō),別人的數(shù)據(jù)希望用戶通過(guò)瀏覽器正常訪問(wèn),而非被“貪心又猥瑣”的爬蟲(chóng)來(lái)訪問(wèn),所以服務(wù)器端都會(huì)想方設(shè)法辨別你是正常用戶還是爬蟲(chóng),比如驗(yàn)證碼就是一個(gè)令人很頭疼的問(wèn)題,特別是一些變態(tài)的驗(yàn)證碼,比如12306的驗(yàn)證碼。此外爬蟲(chóng)爬取的效率也是一個(gè)問(wèn)題,所以爬取數(shù)據(jù)量大的時(shí)候,你不可能僅僅用自己的小筆記本,而要用到分布式爬蟲(chóng),利用多臺(tái)計(jì)算機(jī)來(lái)完成任務(wù)。
總的來(lái)說(shuō),通過(guò)在千鋒Python培訓(xùn)對(duì)爬蟲(chóng)知識(shí)點(diǎn)的學(xué)習(xí),讓我對(duì)爬蟲(chóng)有了深入的認(rèn)識(shí),對(duì)于數(shù)據(jù)量大的分布式爬蟲(chóng)這些雖然還沒(méi)學(xué),但已經(jīng)很期待下周的課程了,希望自己能在爬蟲(chóng)這塊有好的學(xué)習(xí)和發(fā)展。未來(lái)需要靠自己的雙手去爭(zhēng)取,所以接下來(lái)我一定會(huì)加努力學(xué)習(xí)的。
相關(guān)文章
了解千鋒動(dòng)態(tài)
關(guān)注千鋒教育服務(wù)號(hào)
掃一掃快速進(jìn)入
千鋒移動(dòng)端頁(yè)面
掃碼匿名提建議
直達(dá)CEO信箱