官术网_书友最值得收藏!

1.2 網絡爬蟲分類

網絡爬蟲按照系統結構和實現技術,大致可分為4類,即通用網絡爬蟲、聚焦網絡爬蟲、增量網絡爬蟲和深層網絡爬蟲。

通用網絡爬蟲:又稱為全網網絡爬蟲,其在采集數據時,由部分種子URL擴展到整個網絡的全部頁面,主要應用于搜索引擎數據的采集。這類網絡爬蟲的數據采集范圍較廣,數據采集量巨大,對數據采集的速度和存儲空間有較高的要求,通常需要深度遍歷網站的資源。例如,Apache的子項目Nutch便是一個高效的通用網絡爬蟲框架,其使用分布式的方式采集數據。有興趣詳細學習Nutch框架使用的讀者,可參考書籍Web Crawling and Data Mining with Apache Nutch。

聚焦網絡爬蟲:又稱為主題網絡爬蟲,是指選擇性地采集那些與預先定義好的主題相關的頁面。相比于通用網絡爬蟲,聚焦網絡爬蟲采集的網頁資源少,主要用于滿足特定人群對特定領域信息的需求。在聚焦網絡爬蟲中,需要設計過濾策略,即過濾與所定主題無關的頁面。我們可以將用戶查詢的關鍵詞作為主題,包含該關鍵詞的頁面視為主題相關,如圖1.2所示。

圖1.2 采集關鍵詞相關網頁

增量網絡爬蟲:是指對已下載網頁采取增量式更新,只采集新產生的或者已經發生變化網頁的爬蟲。增量網絡爬蟲能夠在一定程度上保證所爬行的頁面是盡可能新的頁面,歷史已經采集過的頁面不重復采集。增量網絡爬蟲避免了重復采集數據,可以減小時間和空間上的耗費。針對小規模特定網站的數據采集,在設計網絡爬蟲時,可構建一個基于時間戳判斷是否更新的數據庫,通過判斷時間戳的先后,判斷程序是否繼續采集,同時更新數據庫中的時間戳信息。圖1.3為某論壇的帖子的頁面,如果需要每隔一段時間采集最新發布的帖子,便可以通過對比當前時間(如2018年9月25日)和數據庫中封存的上次數據采集的時間(如2018年8月25日),進而確定采集到論壇第幾頁便終止后面頁數的數據采集。

圖1.3 增量網絡爬蟲案例

深度網絡爬蟲:即Deep Web爬蟲,指對大部分內容不能通過靜態鏈接獲取,只有用戶提交表單信息才能獲取Web頁面的爬蟲。

主站蜘蛛池模板: 洛阳市| 龙胜| 关岭| 南京市| 徐水县| 柳州市| 鄂托克前旗| 渭源县| 奉化市| 吉隆县| 赣榆县| 万宁市| 丰镇市| 永德县| 明水县| 申扎县| 柳林县| 涿鹿县| 虎林市| 呼和浩特市| 太和县| 奎屯市| 天柱县| 南木林县| 肇庆市| 吉林市| 北宁市| 和静县| 蒲江县| 民权县| 东港市| 宁远县| 尉氏县| 普格县| 孝感市| 辉县市| 龙岩市| 咸丰县| 靖西县| 沧州市| 南雄市|