- 實戰(zhàn)Python網(wǎng)絡(luò)爬蟲
- 黃永祥
- 766字
- 2019-11-22 18:44:31
1.2 爬蟲的類型
網(wǎng)絡(luò)爬蟲根據(jù)系統(tǒng)結(jié)構(gòu)和開發(fā)技術(shù)大致可以分為4種類型:通用網(wǎng)絡(luò)爬蟲、聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲和深層網(wǎng)絡(luò)爬蟲。
通用網(wǎng)絡(luò)爬蟲又稱全網(wǎng)爬蟲,常見的有百度、Google、必應(yīng)等搜索引擎,爬行對象從一些初始URL擴(kuò)充到整個網(wǎng)站,主要為門戶站點(diǎn)搜索引擎和大型網(wǎng)站服務(wù)采集數(shù)據(jù),具有以下特點(diǎn):
(1)由于商業(yè)原因,引擎的算法是不會對外公布的。
(2)這類網(wǎng)絡(luò)爬蟲的爬取范圍和數(shù)量巨大,對于爬取速度和存儲空間要求較高,爬取頁面的順序要求相對較低。
(3)待刷新的頁面太多,通常采用并行工作方式,但需要較長時間才能刷新一次頁面。
(4)存在一定缺陷,通用網(wǎng)絡(luò)爬蟲適用于為搜索引擎搜索廣泛的需求。
聚焦網(wǎng)絡(luò)爬蟲又稱主題網(wǎng)絡(luò)爬蟲,是選擇性地爬取根據(jù)需求的主題相關(guān)頁面的網(wǎng)絡(luò)爬蟲。與通用網(wǎng)絡(luò)爬蟲相比,聚焦爬蟲只需要爬取與主題相關(guān)的頁面,不需要廣泛地覆蓋無關(guān)的網(wǎng)頁,很好地滿足一些特定人群對特定領(lǐng)域信息的需求。
增量式網(wǎng)絡(luò)爬蟲是指對已下載網(wǎng)頁采取增量式更新和只爬取新產(chǎn)生或者已經(jīng)發(fā)生變化的網(wǎng)頁的爬蟲,它能夠在一定程度上保證所爬取的頁面盡可能是新的頁面。只會在需要的時候爬取新產(chǎn)生或發(fā)生更新的頁面,并不重新下載沒有發(fā)生變化的頁面,可有效減少數(shù)據(jù)下載量,及時更新已爬取的網(wǎng)頁,減小時間和空間上的耗費(fèi),但是增加了爬取算法的復(fù)雜度和實現(xiàn)難度,基本上這類爬蟲在實際開發(fā)中不太普及。
深層網(wǎng)絡(luò)爬蟲是大部分內(nèi)容不能通過靜態(tài)URL獲取的、隱藏在搜索表單后的、只有用戶提交一些關(guān)鍵詞才能獲得的網(wǎng)絡(luò)頁面。例如某些網(wǎng)站需要用戶登錄或者通過提交表單實現(xiàn)提交數(shù)據(jù)。這類爬蟲也是本書講述的重點(diǎn)之一。
實際上,聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲和深層網(wǎng)絡(luò)爬蟲可以通俗地歸納為一類,因為這類爬蟲都是定向爬取數(shù)據(jù)。相比于通用爬蟲,這類爬蟲比較有目的性,也就是網(wǎng)絡(luò)上經(jīng)常說的網(wǎng)絡(luò)爬蟲,而通用爬蟲在網(wǎng)絡(luò)上通常稱為搜索引擎。
- C/C++算法從菜鳥到達(dá)人
- Python Game Programming By Example
- Building Mapping Applications with QGIS
- TypeScript圖形渲染實戰(zhàn):基于WebGL的3D架構(gòu)與實現(xiàn)
- MATLAB for Machine Learning
- C語言程序設(shè)計實驗指導(dǎo) (第2版)
- Scala for Machine Learning(Second Edition)
- Oracle GoldenGate 12c Implementer's Guide
- Python編程:從入門到實踐(第3版)
- Python數(shù)據(jù)可視化之美:專業(yè)圖表繪制指南(全彩)
- 數(shù)據(jù)分析與挖掘算法:Python實戰(zhàn)
- Mastering ASP.NET Core 2.0
- JavaScript前端開發(fā)基礎(chǔ)教程
- Java從入門到精通(視頻實戰(zhàn)版)
- WCF全面解析