小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

介紹爬蟲的原理、具體工作流程、爬取策略等內(nèi)容

 丹楓無(wú)跡 2021-06-28

本文的文字及圖片來(lái)源于網(wǎng)絡(luò),僅供學(xué)習(xí)、交流使用,不具有任何商業(yè)用途,如有問題請(qǐng)及時(shí)聯(lián)系我們以作處理。

以下文章源于企通查 ,作者企通查

前言

網(wǎng)絡(luò)爬蟲也被稱作網(wǎng)絡(luò)機(jī)器人、網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)螞蟻、網(wǎng)絡(luò)機(jī)器人等。

網(wǎng)絡(luò)爬蟲通常由控制節(jié)點(diǎn)、爬蟲節(jié)點(diǎn)和資源庫(kù)構(gòu)成。下圖所示是網(wǎng)絡(luò)爬蟲的控制節(jié)點(diǎn)以及爬蟲節(jié)點(diǎn)的結(jié)構(gòu)關(guān)系。

圖:網(wǎng)絡(luò)爬蟲的控制節(jié)點(diǎn)和爬蟲節(jié)點(diǎn)的結(jié)構(gòu)關(guān)系,來(lái)源于網(wǎng)絡(luò)

控制節(jié)點(diǎn),也叫做爬蟲的中央控制器,主要負(fù)責(zé)根據(jù)URL地址(URL:UniformResourceLocation,統(tǒng)一資源定位符,即Internet上用來(lái)描述信息資源的字符串,主要用在各種www客戶程序和服務(wù)器程序上)分配線程,并調(diào)用爬蟲節(jié)點(diǎn)進(jìn)行具體的爬行任務(wù)。

爬蟲節(jié)點(diǎn),會(huì)按照相關(guān)算法對(duì)網(wǎng)頁(yè)進(jìn)行具體爬行(包括下載網(wǎng)頁(yè)、對(duì)網(wǎng)頁(yè)文本進(jìn)行處理等),爬行后會(huì)將相應(yīng)的結(jié)果存儲(chǔ)到對(duì)應(yīng)的資源庫(kù)中。

從圖中我們可以看到,網(wǎng)絡(luò)爬蟲中可以有多個(gè)控制節(jié)點(diǎn),而每個(gè)控制節(jié)點(diǎn)下又可以有多個(gè)爬蟲節(jié)點(diǎn)。

控制節(jié)點(diǎn)之間、控制節(jié)點(diǎn)和其下的各爬蟲節(jié)點(diǎn)間、同一控制節(jié)點(diǎn)下的各爬蟲節(jié)點(diǎn)間都可以相互通信。

了解了網(wǎng)絡(luò)爬蟲的組成,那么,網(wǎng)絡(luò)爬蟲具體有哪些類型呢?

根據(jù)實(shí)現(xiàn)的技術(shù)和結(jié)構(gòu),網(wǎng)絡(luò)爬蟲可以分為通用網(wǎng)絡(luò)爬蟲、聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲和深度網(wǎng)絡(luò)爬蟲等幾種類型。

在實(shí)際的網(wǎng)絡(luò)爬蟲中,通常都是這幾類爬蟲的組合體。

對(duì)于不同類型的網(wǎng)絡(luò)爬蟲,其實(shí)現(xiàn)原理也是不同的,但這些實(shí)現(xiàn)原理中,會(huì)存在很多共性。

下面將以通用網(wǎng)絡(luò)爬蟲和聚焦網(wǎng)絡(luò)爬蟲為主,對(duì)網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)原理進(jìn)行介紹。

通用網(wǎng)絡(luò)爬蟲

通用網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)原理及過程可簡(jiǎn)要概括如下圖:

圖:通用網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)原理及過程

1. 獲取初始URL

初始URL地址可以由用戶人為指定,也可以由用戶指定的某個(gè)或某幾個(gè)初始爬取網(wǎng)頁(yè)決定。

2. 根據(jù)初始URL爬取頁(yè)面并獲得新的URL

獲得初始URL地址之后,需要對(duì)對(duì)應(yīng)的網(wǎng)頁(yè)進(jìn)行爬取,并將網(wǎng)頁(yè)存儲(chǔ)到原始數(shù)據(jù)庫(kù)中,同時(shí)將已爬取的URL地址存放到一個(gè)URL列表中,并發(fā)現(xiàn)新的URL地址,以此來(lái)用于去重及判斷爬取的進(jìn)程。

3. 將新的URL放到URL隊(duì)列中

在第2步中,會(huì)將新獲取的URL地址放到URL隊(duì)列中。

4. 重復(fù)爬取過程

從URL隊(duì)列中讀取新的URL,并依據(jù)新的URL爬取網(wǎng)頁(yè),同時(shí)再?gòu)男戮W(wǎng)頁(yè)中獲取新URL,并重復(fù)上述的爬取過程。

*在編寫爬蟲的時(shí)候,一般會(huì)設(shè)置相應(yīng)的停止條件,當(dāng)過程滿足爬蟲系統(tǒng)設(shè)置的停止條件時(shí)就停止爬取。相對(duì)地,如果沒有設(shè)置停止條件,爬蟲則會(huì)一直爬取下去,直到無(wú)法獲取新的URL地址為止。

聚焦網(wǎng)絡(luò)爬蟲

由于聚焦網(wǎng)絡(luò)爬蟲需要有目的地進(jìn)行爬取,所以相對(duì)于通用網(wǎng)絡(luò)爬蟲來(lái)說,聚焦網(wǎng)絡(luò)爬蟲還必須要增加目標(biāo)定義及過濾機(jī)制,即目標(biāo)的定義、無(wú)關(guān)鏈接的過濾、下一步要爬取的URL地址的選取等。

整個(gè)過程如下圖所示:

圖:聚焦網(wǎng)絡(luò)爬蟲的基本原理及其實(shí)現(xiàn)過程

1. 對(duì)爬取目標(biāo)的定義和描述

首先依據(jù)爬取需求定義好該聚焦網(wǎng)絡(luò)爬蟲爬取的目標(biāo)及進(jìn)行相關(guān)描述。

2.獲取初始的URL。

3.根據(jù)初始的URL爬取頁(yè)面,并獲得新的URL。

4.從新的URL中過濾掉與爬取目標(biāo)無(wú)關(guān)的鏈接

因?yàn)榫劢咕W(wǎng)絡(luò)爬蟲對(duì)網(wǎng)頁(yè)的爬取是有目的性的,所以與目標(biāo)無(wú)關(guān)的網(wǎng)頁(yè)將會(huì)被過濾掉。同時(shí),也需要將已爬取的URL地址存放到一個(gè)URL列表中,用于去重和判斷爬取的進(jìn)程。

5.將過濾后的鏈接放到URL隊(duì)列中。

6.根據(jù)搜索算法,從URL隊(duì)列中確定URL的優(yōu)先級(jí)及下一步要爬取的URL地址

對(duì)聚焦網(wǎng)絡(luò)爬蟲來(lái)說,不同的爬取順序可能導(dǎo)致爬蟲的執(zhí)行效率不同,因此需要依據(jù)搜索策略來(lái)確定下一步需要爬取哪些URL地址。

7.從下一步要爬取的URL地址中,讀取新的URL,然后依據(jù)新的URL地址爬取網(wǎng)頁(yè),并重復(fù)上述爬取過程。滿足系統(tǒng)中設(shè)置的停止條件時(shí),或無(wú)法獲取新的URL地址時(shí),停止爬行。

增量式網(wǎng)絡(luò)爬蟲

增量式網(wǎng)絡(luò)爬蟲是指對(duì)已下載網(wǎng)頁(yè)采取增量式更新并且只爬行新產(chǎn)生的或者已經(jīng)發(fā)生變化網(wǎng)頁(yè)的爬蟲,它能夠在一定程度上保證所爬行的頁(yè)面是盡可能新的頁(yè)面。

深度網(wǎng)絡(luò)爬蟲

網(wǎng)頁(yè)按存在方式可以分為表層網(wǎng)頁(yè)和深層網(wǎng)頁(yè)。

表層網(wǎng)頁(yè)是指?jìng)鹘y(tǒng)搜索引擎可以索引的頁(yè)面,以超鏈接可以到達(dá)的靜態(tài)網(wǎng)頁(yè)為主。

而深層網(wǎng)頁(yè)則是指那些大部分內(nèi)容不能通過靜態(tài)鏈接獲取的、隱藏在搜索表單后的、只有用戶提交一些關(guān)鍵詞才能獲得的網(wǎng)頁(yè)。

深層網(wǎng)絡(luò)爬蟲主要用于針對(duì)深層網(wǎng)絡(luò),其主要的體系結(jié)構(gòu)包含6個(gè)基本功能模塊:

爬行控制器、解析器、表單分析器、表單處理器、響應(yīng)分析器、LVS控制器和兩個(gè)爬蟲內(nèi)部數(shù)據(jù)結(jié)構(gòu)(URL列表和LVS表)。其中,LVS(Label Value Set)表示標(biāo)簽和數(shù)值集合,用來(lái)表示填充表單的數(shù)據(jù)源。

在深度網(wǎng)絡(luò)爬蟲的爬取過程中,最重要的部分就是表單填寫,包含基于領(lǐng)域知識(shí)的表單填寫和基于網(wǎng)頁(yè)結(jié)構(gòu)分析的表單填寫兩種。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多