教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

爬蟲分類分析:網(wǎng)絡爬蟲有哪些分類?

更新時間:2020年09月18日15時28分 來源:傳智播客 瀏覽次數(shù):

通用爬蟲和聚焦爬蟲

根據(jù)使用場景,網(wǎng)絡爬蟲可分為通用爬蟲和聚焦爬蟲兩種。通用爬蟲是捜索引擎抓取系統(tǒng)(Baidu、Google、Yahoo等)的重要組成部分,主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內容的鏡像備份。聚焦爬蟲,是“面向特定主題需求”的一種網(wǎng)絡爬蟲程序。接下來,就對這兩種爬蟲分別進行介紹。

1. 通用爬蟲

通用爬蟲又稱全網(wǎng)爬蟲(Scalable Web Crawler),它將爬取對象從一些種子 URL擴充到整個Web上的網(wǎng)站,主要用途是為門戶站點搜索引擎和大型Web服務提供商采集數(shù)據(jù)。

這類網(wǎng)絡爬蟲的爬行范圍和數(shù)量巨大,對于爬行速度和存儲空間要求較高,對于爬行頁面的順序要求相對較低,同時由于待刷新的頁面太多,通常采用并行工作方式,但需要較長時間才能刷新一次頁面。

2. 聚焦爬蟲

聚焦爬蟲(Focused Crawler),又稱主題網(wǎng)絡爬蟲(Topical Crawler),是指選擇性地爬行那些與預先定義好的主題相關的頁面的網(wǎng)絡爬蟲。

和通用爬蟲相比,聚焦爬蟲只需要爬行與主題相關的頁面,從而極大地節(jié)省了硬件和網(wǎng)絡資源,保存的頁面也由于數(shù)量少而更新快,還可以很好地滿足一些特定人群對特定領域信息的需求。

累積式和增量式爬蟲

根據(jù)爬取形式不同,可將爬蟲分為累積式爬蟲和增量式爬蟲。

1. 累積式爬蟲

累積式爬蟲是指從某一個時間點開始,通過遍歷的方式抓取系統(tǒng)所能允許存儲和處理的所有網(wǎng)頁。在理想的軟硬件環(huán)境下,經過足夠的運行時間,累積式抓取的策略可以保證抓取到相當規(guī)模的網(wǎng)頁集合。但由于Web數(shù)據(jù)的動態(tài)特性,集合中網(wǎng)頁的被抓取時間點是不同的,頁面被更新的情況也不同,因此累積式抓取到的網(wǎng)頁集合事實上并無法與真實環(huán)境中的網(wǎng)絡數(shù)據(jù)保持一致。

2. 增量式爬蟲

增量式網(wǎng)絡爬蟲(Incremental Web Crawler)是指在具有一定量規(guī)模的網(wǎng)絡頁面集合的基礎上,采用更新數(shù)據(jù)的方式選取已有集合中的過時網(wǎng)頁進行抓取,以保證所抓取到的數(shù)據(jù)與真實網(wǎng)絡數(shù)據(jù)足夠接近。進行增量式抓取的前提是,系統(tǒng)已經抓取了足夠數(shù)量的網(wǎng)絡頁面,并具有這些頁面被抓取的時間信息。

和周期性爬行和刷新頁面的網(wǎng)絡爬蟲相比,增量式爬蟲只會在需要的時候爬行新產生或發(fā)生更新的頁面,并不重新下載沒有發(fā)生變化的頁面,可有效減少數(shù)據(jù)下載量,及時更新已爬行的網(wǎng)頁,減小時間和空間上的耗費,但是增加了爬行算法的復雜度和實現(xiàn)難度。

面向實際應用環(huán)境的網(wǎng)絡蜘蛛設計中,通常既包括累積式抓取,也包括增量式抓取的策略。累積式抓取一般用于數(shù)據(jù)集合的整體建立或大規(guī)模更新階段;而增量式抓取則主要針對數(shù)據(jù)集合的日常維護與即時更新。

表層爬蟲和深層爬蟲

Web 頁面按存在方式可以分為表層網(wǎng)頁(Surface Web)和深層網(wǎng)頁(Deep Web,也稱 Invisible Web Pages 或 Hidden Web)。針對這兩種網(wǎng)頁的爬蟲分別叫做表層爬蟲和深層爬蟲。

1. 表層爬蟲

爬取表層網(wǎng)頁的爬蟲叫做表層爬蟲。表層網(wǎng)頁是指傳統(tǒng)搜索引擎可以索引的頁面,以超鏈接可以到達的靜態(tài)網(wǎng)頁為主構成的Web頁面。

2. 深層爬蟲

爬取深層網(wǎng)頁的爬蟲就叫做深層爬蟲。深層網(wǎng)頁是那些大部分內容不能通過靜態(tài)鏈接獲取的、隱藏在搜索表單后的,只有用戶提交一些關鍵詞才能獲得的 Web 頁面。例如那些用戶注冊后內容才可見的網(wǎng)頁就屬于 Deep Web。

與表層網(wǎng)頁相比,深層網(wǎng)頁上的數(shù)據(jù)爬取更加困難,要采用一定的附加策略才能夠自動爬取。

深層爬蟲爬行過程中最重要部分就是表單填寫,包含兩種類型:

(1)基于領域知識的表單填寫:此方法一般會維持一個本體庫,通過語義分析來選取合適的關鍵詞填寫表單。

(2)基于網(wǎng)頁結構分析的表單填寫:此方法一般無領域知識或僅有有限的領域知識,將網(wǎng)頁表單表示成DOM樹,從中提取表單各字段值。


猜你喜歡:
Python爬蟲視頻教程:Python爬蟲項目教程下載

python爬蟲可以用來做什么?

Python爬蟲數(shù)據(jù)如何寫入Execl文件并生成圖表?

python爬蟲視頻教程

0 分享到:
和我們在線交談!