最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区

通過(guò)網(wǎng)路爬蟲(chóng)采集大數據

優(yōu)采云 發(fā)布時(shí)間: 2020-08-11 00:11

  網(wǎng)絡(luò )數據采集是指通過(guò)網(wǎng)路爬蟲(chóng)或網(wǎng)站公開(kāi) API 等方法從網(wǎng)站上獲取數據信息。該方式可以將非結構化數據從網(wǎng)頁(yè)中抽取下來(lái),將其儲存為統一的本地數據文件,并以結構化的形式儲存。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以手動(dòng)關(guān)聯(lián)。

  在互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò )爬蟲(chóng)主要是為搜索引擎提供最全面和最新的數據。

  在大數據時(shí)代,網(wǎng)絡(luò )爬蟲(chóng)更是從互聯(lián)網(wǎng)上采集數據的有利工具。目前早已曉得的各類(lèi)網(wǎng)路爬蟲(chóng)工具早已有上百個(gè),網(wǎng)絡(luò )爬蟲(chóng)工具基本可以分為 3 類(lèi)。

  本節首先對網(wǎng)路爬蟲(chóng)的原理和工作流程進(jìn)行簡(jiǎn)單介紹,然后對網(wǎng)路爬蟲(chóng)抓取策略進(jìn)行討論,最后對典型的網(wǎng)路工具進(jìn)行描述。網(wǎng)絡(luò )爬蟲(chóng)原理網(wǎng)絡(luò )爬蟲(chóng)是一種根據一定的規則,自動(dòng)地抓取 Web 信息的程序或則腳本。

  Web 網(wǎng)絡(luò )爬蟲(chóng)可以手動(dòng)采集所有其才能訪(fǎng)問(wèn)到的頁(yè)面內容,為搜索引擎和大數據剖析提供數據來(lái)源。從功能上來(lái)講,爬蟲(chóng)通常有數據采集、處理和儲存 3 部分功能,如圖 1 所示。

  

  圖 1 網(wǎng)絡(luò )爬蟲(chóng)示意

  網(wǎng)頁(yè)中不僅收錄供用戶(hù)閱讀的文字信息外,還收錄一些超鏈接信息。

  網(wǎng)絡(luò )爬蟲(chóng)系統正是通過(guò)網(wǎng)頁(yè)中的超鏈接信息不斷獲得網(wǎng)路上的其他網(wǎng)頁(yè)的。網(wǎng)絡(luò )爬蟲(chóng)從一個(gè)或若干初始網(wǎng)頁(yè)的 URL 開(kāi)始,獲得初始網(wǎng)頁(yè)上的 URL,在抓取網(wǎng)頁(yè)的過(guò)程中,不斷從當前頁(yè)面上抽取新的 URL 放入隊列,直到滿(mǎn)足系統的一定停止條件。

  網(wǎng)絡(luò )爬蟲(chóng)系統通常會(huì )選擇一些比較重要的、出度(網(wǎng)頁(yè)中鏈出的超鏈接數)較大的網(wǎng)站的 URL 作為*敏*感*詞* URL 集合。

  網(wǎng)絡(luò )爬蟲(chóng)系統以這種*敏*感*詞*集合作為初始 URL,開(kāi)始數據的抓取。因為網(wǎng)頁(yè)中富含鏈接信息,通過(guò)已有網(wǎng)頁(yè)的 URL 會(huì )得到一些新的 URL。

  可以把網(wǎng)頁(yè)之間的指向結構視為一個(gè)森林,每個(gè)*敏*感*詞* URL 對應的網(wǎng)頁(yè)是森林中的一棵樹(shù)的根結點(diǎn),這樣網(wǎng)路爬蟲(chóng)系統就可以按照廣度優(yōu)先搜索算法或則深度優(yōu)先搜索算法遍歷所有的網(wǎng)頁(yè)。

  由于深度優(yōu)先搜索算法可能會(huì )讓爬蟲(chóng)系統深陷一個(gè)網(wǎng)站內部,不利于搜索比較緊靠網(wǎng)站首頁(yè)的網(wǎng)頁(yè)信息,因此通常采用廣度優(yōu)先搜索算法采集網(wǎng)頁(yè)。

  網(wǎng)絡(luò )爬蟲(chóng)系統首先將*敏*感*詞* URL 放入下載隊列,并簡(jiǎn)單地從隊首取出一個(gè) URL 下載其對應的網(wǎng)頁(yè),得到網(wǎng)頁(yè)的內容并將其儲存后,經(jīng)過(guò)解析網(wǎng)頁(yè)中的鏈接信息可以得到一些新的 URL。

  其次,根據一定的網(wǎng)頁(yè)分析算法過(guò)濾掉與主題無(wú)關(guān)的鏈接,保留有用的鏈接并將其倒入等待抓取的 URL 隊列。

  最后,取出一個(gè) URL,對其對應的網(wǎng)頁(yè)進(jìn)行下載,然后再解析,如此反復進(jìn)行,直到遍歷了整個(gè)網(wǎng)路或則滿(mǎn)足某種條件后才能停止出來(lái)。網(wǎng)絡(luò )爬蟲(chóng)工作流程如圖 2 所示,網(wǎng)絡(luò )爬蟲(chóng)的基本工作流程如下。

  1)首先選定一部分*敏*感*詞* URL。

  2)將這種 URL 放入待抓取 URL 隊列。

  3)從待抓取 URL 隊列中取出待抓取 URL,解析 DNS,得到主機的 IP 地址,并將 URL 對應的網(wǎng)頁(yè)下載出來(lái),存儲到已下載網(wǎng)頁(yè)庫中。此外,將這種 URL 放進(jìn)已抓取 URL 隊列。

  4)分析已抓取 URL 隊列中的 URL,分析其中的其他 URL,并且將這種 URL 放入待抓取 URL 隊列,從而步入下一個(gè)循環(huán)。

  

  圖 2網(wǎng)路爬蟲(chóng)的基本工作流程

  網(wǎng)絡(luò )爬蟲(chóng)抓取策略Google 和百度等通用搜索引擎抓取的網(wǎng)頁(yè)數目一般都是以?xún)|為單位估算的。那么,面對這么諸多的網(wǎng)頁(yè),通過(guò)何種方法能夠讓網(wǎng)絡(luò )爬蟲(chóng)盡可能地遍歷所有網(wǎng)頁(yè),從而盡可能地擴大網(wǎng)頁(yè)信息的抓取覆蓋面,這是網(wǎng)路爬蟲(chóng)系統面對的一個(gè)太關(guān)鍵的問(wèn)題。在網(wǎng)路爬蟲(chóng)系統中,抓取策略決定了抓取網(wǎng)頁(yè)的次序。

  本節首先對網(wǎng)路爬蟲(chóng)抓取策略用到的基本概念做簡(jiǎn)單介紹。1)網(wǎng)頁(yè)間關(guān)系模型從互聯(lián)網(wǎng)的結構來(lái)看,網(wǎng)頁(yè)之間通過(guò)數目不等的超鏈接互相聯(lián)接,形成一個(gè)彼此關(guān)聯(lián)、龐大復雜的有向圖。

  如圖 3 所示,如果將網(wǎng)頁(yè)看成是圖中的某一個(gè)結點(diǎn),而將網(wǎng)頁(yè)中指向其他網(wǎng)頁(yè)的鏈接看成是這個(gè)結點(diǎn)指向其他結點(diǎn)的邊,那么我們很容易將整個(gè)互聯(lián)網(wǎng)上的網(wǎng)頁(yè)建模成一個(gè)有向圖。

  理論上講,通過(guò)遍歷算法遍歷該圖,可以訪(fǎng)問(wèn)到互聯(lián)網(wǎng)上幾乎所有的網(wǎng)頁(yè)。

  

  圖 3網(wǎng)頁(yè)關(guān)系模型圖

  2)網(wǎng)頁(yè)分類(lèi)從爬蟲(chóng)的角度對互聯(lián)網(wǎng)進(jìn)行界定,可以將互聯(lián)網(wǎng)的所有頁(yè)面分為 5 個(gè)部份:已下載未過(guò)期網(wǎng)頁(yè)、已下載已過(guò)期網(wǎng)頁(yè)、待下載網(wǎng)頁(yè)、可知網(wǎng)頁(yè)和不可知網(wǎng)頁(yè),如圖 4 所示。

  抓取到本地的網(wǎng)頁(yè)實(shí)際上是互聯(lián)網(wǎng)內容的一個(gè)鏡像與備份?;ヂ?lián)網(wǎng)是動(dòng)態(tài)變化的,當一部分互聯(lián)網(wǎng)上的內容發(fā)生變化后,抓取到本地的網(wǎng)頁(yè)就過(guò)期了。所以,已下載的網(wǎng)頁(yè)分為已下載未過(guò)期網(wǎng)頁(yè)和已下載已過(guò)期網(wǎng)頁(yè)兩類(lèi)。

  

  圖 4 網(wǎng)頁(yè)分類(lèi)

  待下載網(wǎng)頁(yè)是指待抓取 URL 隊列中的這些頁(yè)面。

  可知網(wǎng)頁(yè)是指還沒(méi)有抓取出來(lái),也沒(méi)有在待抓取 URL 隊列中,但是可以通過(guò)對已抓取頁(yè)面或則待抓取 URL 對應頁(yè)面進(jìn)行剖析,從而獲取到的網(wǎng)頁(yè)。

  還有一部分網(wǎng)頁(yè),網(wǎng)絡(luò )爬蟲(chóng)是難以直接抓取下載的,稱(chēng)為不可知網(wǎng)頁(yè)。

  下面重點(diǎn)介紹幾種常見(jiàn)的抓取策略。1. 通用網(wǎng)路爬蟲(chóng)通用網(wǎng)路爬蟲(chóng)又稱(chēng)全網(wǎng)爬蟲(chóng),爬行對象從一些*敏*感*詞* URL 擴展到整個(gè) Web,主要為門(mén)戶(hù)站點(diǎn)搜索引擎和小型 Web 服務(wù)提供商采集數據。

  為提升工作效率,通用網(wǎng)路爬蟲(chóng)會(huì )采取一定的爬行策略。常用的爬行策略有深度優(yōu)先策略和廣度優(yōu)先策略。

  1)深度優(yōu)先策略

  深度優(yōu)先策略是指網(wǎng)絡(luò )爬蟲(chóng)會(huì )從起始頁(yè)開(kāi)始,一個(gè)鏈接一個(gè)鏈接地跟蹤下去,直到不能再深入為止。

  網(wǎng)絡(luò )爬蟲(chóng)在完成一個(gè)爬行分支后返回到上一鏈接結點(diǎn)進(jìn)一步搜索其他鏈接。當所有鏈接遍歷完后,爬行任務(wù)結束。

  這種策略比較適宜垂直搜索或站內搜索,但爬行頁(yè)面內容層次較深的站點(diǎn)時(shí)會(huì )導致資源的巨大浪費。

  以圖 3 為例,遍歷的路徑為 1→2→5→6→3→7→4→8。

  在深度優(yōu)先策略中,當搜索到某一個(gè)結點(diǎn)的時(shí)侯,這個(gè)結點(diǎn)的子結點(diǎn)及該子結點(diǎn)的后繼結點(diǎn)全部?jì)?yōu)先于該結點(diǎn)的兄弟結點(diǎn),深度優(yōu)先策略在搜索空間的時(shí)侯會(huì )盡量地往深處去,只有找不到某結點(diǎn)的后繼結點(diǎn)時(shí)才考慮它的兄弟結點(diǎn)。

  這樣的策略就決定了深度優(yōu)先策略不一定能找到最優(yōu)解,并且因為深度的限制甚至找不到解。

  如果不加限制,就會(huì )順著(zhù)一條路徑無(wú)限制地擴充下去,這樣才會(huì )“陷入”到巨大的數據量中。一般情況下,使用深度優(yōu)先策略就會(huì )選擇一個(gè)合適的深度,然后反復地搜索,直到找到解,這樣搜索的效率就增加了。所以深度優(yōu)先策略通常在搜索數據量比較小的時(shí)侯才使用。

  2)廣度優(yōu)先策略

  廣度優(yōu)先策略根據網(wǎng)頁(yè)內容目錄層次深淺來(lái)爬行頁(yè)面,處于較淺目錄層次的頁(yè)面首先被爬行。當同一層次中的頁(yè)面爬行完畢后,爬蟲(chóng)再深入下一層繼續爬行。

  仍然以圖 3 為例,遍歷的路徑為 1→2→3→4→5→6→7→8

  由于廣度優(yōu)先策略是對第 N 層的結點(diǎn)擴充完成后才步入第 N+1 層的,所以可以保證以最短路徑找到解。

  這種策略才能有效控制頁(yè)面的爬行深度,避免碰到一個(gè)無(wú)窮深層分支時(shí)未能結束爬行的問(wèn)題,實(shí)現便捷,無(wú)須儲存大量中間結點(diǎn),不足之處在于需較長(cháng)時(shí)間能夠爬行到目錄層次較深的頁(yè)面。

  如果搜索時(shí)分支過(guò)多,也就是結點(diǎn)的后繼結點(diǎn)太多,就會(huì )讓算法用盡資源,在可以借助的空間內找不到解。2. 聚焦網(wǎng)路爬蟲(chóng)聚焦網(wǎng)路爬蟲(chóng)又稱(chēng)主題網(wǎng)路爬蟲(chóng),是指選擇性地爬行這些與預先定義好的主題相關(guān)的頁(yè)面的網(wǎng)路爬蟲(chóng)。

  1)基于內容評價(jià)的爬行策略

  DeBra 將文本相似度的估算方式引入到網(wǎng)路爬蟲(chóng)中,提出了 Fish Search 算法。

  該算法將用戶(hù)輸入的查詢(xún)詞作為主題,收錄查詢(xún)詞的頁(yè)面被視為與主題相關(guān)的頁(yè)面,其局限性在于難以評價(jià)頁(yè)面與主題相關(guān)度的大小。

  Herseovic 對 Fish Search 算法進(jìn)行了改進(jìn),提出了 Shark Search 算法,即借助空間向量模型估算頁(yè)面與主題的相關(guān)度大小。

  采用基于連續值估算鏈接價(jià)值的方式,不但可以估算出什么抓取的鏈接和主題相關(guān),還可以得到相關(guān)度的量化大小。

  2)基于鏈接結構評價(jià)的爬行策略

  網(wǎng)頁(yè)不同于通常文本,它是一種半結構化的文檔,收錄了許多結構化的信息。

  網(wǎng)頁(yè)不是單獨存在的,頁(yè)面中的鏈接指示了頁(yè)面之間的互相關(guān)系,基于鏈接結構的搜索策略模式借助這種結構特點(diǎn)來(lái)評價(jià)頁(yè)面和鏈接的重要性,以此決定搜索的次序。其中,PageRank 算法是這類(lèi)搜索策略模式的代表。

  PageRank 算法的基本原理是,如果一個(gè)網(wǎng)頁(yè)多次被引用,則可能是很重要的網(wǎng)頁(yè),如果一個(gè)網(wǎng)頁(yè)沒(méi)有被多次引用,但是被重要的網(wǎng)頁(yè)引用,也有可能是重要的網(wǎng)頁(yè)。一個(gè)網(wǎng)頁(yè)的重要性被平均地傳遞到它所引用的網(wǎng)頁(yè)上。

  將某個(gè)頁(yè)面的 PageRank 除以存在于這個(gè)頁(yè)面的正向鏈接,并將得到的值分別和正向鏈接所指的頁(yè)面的 PageRank 相加,即得到了被鏈接的頁(yè)面的 PageRank。

  如圖 5 所示,PageRank 值為 100 的網(wǎng)頁(yè)把它的重要性平均傳遞給了它所引用的兩個(gè)頁(yè)面,每個(gè)頁(yè)面獲得了 50,同樣 PageRank 值為 9 的網(wǎng)頁(yè)給它所引用的 3 個(gè)頁(yè)面的每位頁(yè)面傳遞的值為 3。

  PageRank 值為 53 的頁(yè)面的值來(lái)源于兩個(gè)引用了它的頁(yè)面傳遞過(guò)來(lái)的值。

  

  、

  圖 5 PageRank 算法示例

  3)基于提高學(xué)習的爬行策略

  Rennie 和 McCallum 將提高學(xué)習引入聚焦爬蟲(chóng),利用貝葉斯分類(lèi)器,根據整個(gè)網(wǎng)頁(yè)文本和鏈接文本對超鏈接進(jìn)行分類(lèi),為每位鏈接估算出重要性,從而決定鏈接的訪(fǎng)問(wèn)次序。

  4)基于語(yǔ)境圖的爬行策略

  Diligenti 等人提出了一種通過(guò)構建語(yǔ)境圖學(xué)習網(wǎng)頁(yè)之間的相關(guān)度的爬行策略,該策略可訓練一個(gè)機器學(xué)習系統,通過(guò)該系統可估算當前頁(yè)面到相關(guān) Web 頁(yè)面的距離,距離逾的頁(yè)面中的鏈接優(yōu)先訪(fǎng)問(wèn)。3. 增量式網(wǎng)絡(luò )爬蟲(chóng)增量式網(wǎng)絡(luò )爬蟲(chóng)是指對已下載網(wǎng)頁(yè)采取增量式更新而且只爬行新形成的或則已然發(fā)生變化網(wǎng)頁(yè)的爬蟲(chóng),它還能在一定程度上保證所爬行的頁(yè)面是盡可能新的頁(yè)面。

  增量式網(wǎng)路爬蟲(chóng)有兩個(gè)目標:

  為實(shí)現第一個(gè)目標,增量式網(wǎng)路爬蟲(chóng)須要通過(guò)重新訪(fǎng)問(wèn)網(wǎng)頁(yè)來(lái)更新本地頁(yè)面集中頁(yè)面的內容。常用的技巧有統一更新法、個(gè)體更新法和基于分類(lèi)的更新法。

  為實(shí)現第二個(gè)目標,增量式網(wǎng)路爬蟲(chóng)須要對網(wǎng)頁(yè)的重要性排序,常用的策略有廣度優(yōu)先策略、PageRank 優(yōu)先策略等。4. 深層網(wǎng)路爬蟲(chóng)網(wǎng)頁(yè)按存在形式可以分為表層網(wǎng)頁(yè)和深層網(wǎng)頁(yè)。

  深層網(wǎng)路爬蟲(chóng)體系結構收錄 6 個(gè)基本功能模塊(爬行控制器、解析器、表單分析器、表單處理器、響應分析器、LVS 控制器)和兩個(gè)爬蟲(chóng)內部數據結構(URL 列表和 LVS 表)。

  其中,LVS(LabelValueSet)表示標簽和數值集合,用來(lái)表示填充表單的數據源。在爬取過(guò)程中,最重要的部份就是表單填寫(xiě),收錄基于領(lǐng)域知識的表單填寫(xiě)和基于網(wǎng)頁(yè)結構剖析的表單填寫(xiě)兩種。

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区