在文章的最開(kāi)頭,我來(lái)談?wù)勁老x(chóng)我是怎么入門(mén)的,希望能對(duì)你們有些啟示.我從零基礎(chǔ)開(kāi)始入門(mén)的時(shí)候,是看著各種雜七雜八的教程過(guò)來(lái)的.這個(gè)零基礎(chǔ)是真正的零基礎(chǔ),你能想象一個(gè)連數(shù)據(jù)庫(kù)都不知道的是怎么過(guò)來(lái)的么,所以我在文章中有些地方摻雜了一些最基礎(chǔ)的概念,就是希望一些完全沒(méi)基礎(chǔ)的也能很好的理解.如果你了解這個(gè)概念,可以把這部分略過(guò).
網(wǎng)上的大多數(shù)教程,沒(méi)有多少能談?wù)勁老x(chóng)的大體架構(gòu)什么的.現(xiàn)在網(wǎng)絡(luò)上有關(guān)于爬蟲(chóng)的資料用群魔亂舞來(lái)形容也不過(guò)分。各種上來(lái)之間扔一些早就過(guò)期的代碼來(lái)執(zhí)行一些最最最簡(jiǎn)單的工作.而且沒(méi)有對(duì)這些代碼的解釋.這些爬蟲(chóng)沒(méi)有存儲(chǔ),沒(méi)有模塊化,也沒(méi)有反爬措施,如果出錯(cuò)了亦或者是被網(wǎng)站反爬了,那么那些初學(xué)者就會(huì)束手無(wú)策,也不知道能去哪兒?jiǎn)枴S谑呛?,就覺(jué)得爬蟲(chóng)太難了,就放棄了.
這是只一方面,還有一個(gè)更大的壞處就是沒(méi)有講爬蟲(chóng)的道德和社會(huì)影響,這樣只會(huì)造就一堆腳本小子,舉個(gè)例子,國(guó)內(nèi)安全領(lǐng)域的滲透資料,有多少人只知道拿著掃描器不分白天黑夜也不管對(duì)方是什么系統(tǒng),只知道掃,這臺(tái)不行換下一臺(tái)。然后掃到了就覺(jué)得自己很厲害.試問(wèn),這樣如何才能提高?更何況,這些嚴(yán)重浪費(fèi)了國(guó)內(nèi)的網(wǎng)絡(luò)資源.嚴(yán)重的會(huì)影響到一些服務(wù)的正常運(yùn)行.所以,我們要遵守一些爬蟲(chóng)操守.關(guān)于這個(gè)操守,我會(huì)在日后的文章里提到幾次.
所以說(shuō),我這里只能算一個(gè)爬蟲(chóng)的藍(lán)圖構(gòu)造器,因?yàn)榕老x(chóng)可以用很多很多語(yǔ)言來(lái)寫(xiě),而我不可能每種語(yǔ)言都寫(xiě)一遍過(guò)程代碼,所以這里面不會(huì)涉及到代碼,最多是提到一些可以用的庫(kù),一些可以加快速度的方法技巧.所以,如果是只想看具體某個(gè)語(yǔ)言的某個(gè)模塊的實(shí)現(xiàn)代碼的話(huà),我這篇可能幫不到你太多.而如果是相對(duì)爬蟲(chóng)整體有個(gè)了解,有自己的藍(lán)圖規(guī)劃的,這篇文章相信幫助到你.
當(dāng)你了解了大約的構(gòu)架后,只要再去學(xué)習(xí)一些對(duì)應(yīng)語(yǔ)言的知識(shí),那么不管使用什么語(yǔ)言,應(yīng)該都能寫(xiě)出合乎標(biāo)準(zhǔn)的爬蟲(chóng).