網(wǎng)絡(luò )爬蟲(chóng)是哪些?它的主要功能和作用有什么?
優(yōu)采云 發(fā)布時(shí)間: 2020-07-04 08:01
網(wǎng)絡(luò )爬蟲(chóng),又被稱(chēng)為“網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人”,在FOAF社區中間,經(jīng)常被稱(chēng)為“網(wǎng)頁(yè)追逐者”。網(wǎng)絡(luò )爬蟲(chóng),是一種根據一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或則腳本。
網(wǎng)絡(luò )爬蟲(chóng),按照系統結構和實(shí)現技術(shù),大致可以分為:“通用網(wǎng)路爬蟲(chóng)、聚焦網(wǎng)路爬蟲(chóng)、增量式網(wǎng)路爬蟲(chóng)、深層網(wǎng)絡(luò )爬蟲(chóng)”等四種不同類(lèi)型。實(shí)際上,網(wǎng)絡(luò )爬蟲(chóng)系統,通常是由幾種爬蟲(chóng)技術(shù)相結合實(shí)現的。
一、 通用網(wǎng)路爬蟲(chóng)
通用網(wǎng)路爬蟲(chóng),又稱(chēng)“全網(wǎng)爬蟲(chóng)”,爬行對象從一些*敏*感*詞*URL(統一資源定位符) 擴充到整個(gè)萬(wàn)維網(wǎng),主要為“門(mén)戶(hù)站點(diǎn)搜索引擎”和“大型Web服務(wù)提供商”采集數據。由于商業(yè)緣由,它們的技術(shù)細節甚少被公布下來(lái)。這類(lèi)網(wǎng)路爬蟲(chóng)的爬行范圍和數目巨大,對于爬行速率和儲存空間要求較高,對于爬行頁(yè)面的次序要求相對較低,同時(shí)因為等待刷新的頁(yè)面太多,通常采用“并行工作”的方法,但須要較長(cháng)時(shí)間能夠刷新一次頁(yè)面。通用網(wǎng)路爬蟲(chóng),雖然存在著(zhù)一定的缺陷,但它適用于為搜索引擎平臺搜索廣泛的主題,有較強的應用價(jià)值。
二、聚焦網(wǎng)絡(luò )爬蟲(chóng)
聚焦網(wǎng)絡(luò )爬蟲(chóng),又稱(chēng)“主題網(wǎng)路爬蟲(chóng)”,是指選擇性地爬行,那些與預先定義好的主題相關(guān)的頁(yè)面的網(wǎng)路爬蟲(chóng)。和通用網(wǎng)路爬蟲(chóng)相比,聚焦網(wǎng)路爬蟲(chóng)只須要爬行與主題相關(guān)的頁(yè)面,極大地節約了硬件和網(wǎng)路資源,保存的頁(yè)面也因為數目少而更新快,還可以挺好地滿(mǎn)足一些特定人群對特定領(lǐng)域信息的需求。
聚焦網(wǎng)絡(luò )爬蟲(chóng)和通用網(wǎng)路爬蟲(chóng)相比,增加了“鏈接評價(jià)模塊”以及“內容評價(jià)模塊”。聚焦網(wǎng)路爬蟲(chóng)爬行策略實(shí)現的關(guān)鍵是,評價(jià)頁(yè)面內容和鏈接的重要性。不同的方式估算出的重要性不同,由此引起鏈接的訪(fǎng)問(wèn)次序也不同。
三、增量式網(wǎng)絡(luò )爬蟲(chóng)
是指對已下載網(wǎng)頁(yè)采取增量式更新,和只爬行新形成的或則早已發(fā)生變化網(wǎng)頁(yè)的爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)技術(shù)是什么,它還能在一定程度上保證網(wǎng)絡(luò )爬蟲(chóng)技術(shù)是什么,所爬行的頁(yè)面是盡可能新的頁(yè)面。
和周期性爬行和刷新頁(yè)面的網(wǎng)路爬蟲(chóng)相比,增量式爬蟲(chóng)只會(huì )在須要的時(shí)侯爬行新形成或發(fā)生更新的頁(yè)面 ,并不重新下載沒(méi)有發(fā)生變化的頁(yè)面,可有效降低數據下載量,及時(shí)更新已爬行的網(wǎng)頁(yè),減小時(shí)間和空間上的花費,但是降低了爬行算法的復雜度和實(shí)現難度。
四、深層網(wǎng)絡(luò )爬蟲(chóng)
Web 頁(yè)面,按存在形式可以分為“表層網(wǎng)頁(yè)”和“深層網(wǎng)頁(yè)”。表層網(wǎng)頁(yè)是指傳統搜索引擎可以索引的頁(yè)面,以超鏈接可以抵達的靜態(tài)網(wǎng)頁(yè)為主構成的 Web 頁(yè)面。
深層網(wǎng)頁(yè)是這些大部分內容不能通過(guò)靜態(tài)鏈接獲取的、隱藏在搜索表單后的,只有用戶(hù)遞交一些關(guān)鍵詞能夠獲得的 Web 頁(yè)面。例如:那些用戶(hù)注冊后內容才可見(jiàn)的網(wǎng)頁(yè),就屬于深層網(wǎng)頁(yè)。
隨著(zhù)計算機網(wǎng)路的迅速發(fā)展,萬(wàn)維網(wǎng)成為大量信息的載體,如何有效地提取并借助這種信息成為一個(gè)巨大的挑戰。搜索引擎,例如傳統的“通用搜索引擎”平臺:Google(谷歌)、Yahoo!(雅虎)、百度等,作為一個(gè)輔助人們檢索萬(wàn)維網(wǎng)信息的工具,成為互聯(lián)網(wǎng)用戶(hù)訪(fǎng)問(wèn)萬(wàn)維網(wǎng)的入口和渠道。
但是,這些“通用搜索引擎平臺”也存在著(zhù)一定的局限性,如:
1、 不同領(lǐng)域、不同職業(yè)、不同背景的用戶(hù),往往具有不同的檢索目的和需求,通用搜索引擎所返回的結果,包含了大量用戶(hù)并不關(guān)心的網(wǎng)頁(yè),或者與用戶(hù)搜索結果無(wú)關(guān)的網(wǎng)頁(yè)。
2、 通用搜索引擎的目標是,實(shí)現盡可能大的網(wǎng)路覆蓋率,有限的搜索引擎服務(wù)器資源,與無(wú)限的網(wǎng)路數據資源之間的矛盾將進(jìn)一步加深。
3、 萬(wàn)維網(wǎng)數據方式的豐富和網(wǎng)路技術(shù)的不斷發(fā)展,圖片、數據庫、音頻、視頻多媒體等不同數據大量出現,通用搜索引擎常常對這種信息濃度密集,且具有一定結構的數據無(wú)能為力,不能挺好地發(fā)覺(jué)和獲取。
4、通用搜索引擎,大多提供基于“關(guān)鍵字”的檢索,難以支持按照語(yǔ)義信息提出的查詢(xún)。
為了解決上述問(wèn)題,定向抓取相關(guān)網(wǎng)頁(yè)資源的“聚焦網(wǎng)路爬蟲(chóng)”應運而生。聚焦網(wǎng)路爬蟲(chóng),是一個(gè)手動(dòng)下載網(wǎng)頁(yè)的程序,它按照既定的抓取目標,有選擇的訪(fǎng)問(wèn)萬(wàn)維網(wǎng)上的網(wǎng)頁(yè)與相關(guān)的鏈接,獲取所須要的信息。
與“通用網(wǎng)路爬蟲(chóng)”不同,聚焦網(wǎng)絡(luò )爬蟲(chóng)并不追求大的覆蓋,而是將目標定為抓取“與某一特定主題內容相關(guān)的網(wǎng)頁(yè)”,為面向主題的用戶(hù)查詢(xún),準備數據資源。
“聚焦網(wǎng)路爬蟲(chóng)”的工作原理以及關(guān)鍵技術(shù)概述:
網(wǎng)絡(luò )爬蟲(chóng),是一個(gè)手動(dòng)提取網(wǎng)頁(yè)的程序,它為搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè),是搜索引擎的重要組成。
傳統爬蟲(chóng),從一個(gè)或若干初始網(wǎng)頁(yè)的URL(統一資源定位符)開(kāi)始,獲得初始網(wǎng)頁(yè)上的URL(統一資源定位符),在抓取網(wǎng)頁(yè)的過(guò)程中,不斷從當前頁(yè)面上抽取新的URL(統一資源定位符)放入隊列,直到滿(mǎn)足系統的一定停止條件。
“聚焦網(wǎng)路爬蟲(chóng)”的工作流程較為復雜,需要按照一定的“網(wǎng)頁(yè)分析算法”過(guò)濾與主題無(wú)關(guān)的鏈接,保留有用的鏈接,并將其倒入等待抓取的URL(統一資源定位符)隊列。然后,它將按照一定的搜索策略,從隊列中選擇下一步要抓取的網(wǎng)頁(yè)URL(統一資源定位符),并重復上述過(guò)程,直到達到系統的某一條件時(shí)停止。
另外,所有被爬蟲(chóng)抓取的網(wǎng)頁(yè)將會(huì )被系統儲存,進(jìn)行一定的剖析、過(guò)濾,并構建索引,以便以后的查詢(xún)和檢索。對于“聚焦網(wǎng)路爬蟲(chóng)”來(lái)說(shuō),這一過(guò)程所得到的剖析結果,還可能對之后的抓取過(guò)程給出反饋和指導。
相對于通用網(wǎng)路爬蟲(chóng),聚焦網(wǎng)路爬蟲(chóng)還須要解決三個(gè)主要問(wèn)題:
1、對抓取目標的描述或定義;
2、對網(wǎng)頁(yè)或數據的剖析與過(guò)濾;
3、對URL(統一資源定位符)的搜索策略。
網(wǎng)絡(luò )爬蟲(chóng)碰到的問(wèn)題:
早在2007 年底,互聯(lián)網(wǎng)上的網(wǎng)頁(yè)數目就早已超出160 億個(gè),研究表明接近30%的頁(yè)面是重復的。動(dòng)態(tài)頁(yè)面的存在,客戶(hù)端、服務(wù)器端腳本語(yǔ)言的應用,使得指向相同Web信息的 URL(統一資源定位符)數量呈指數級下降。
上述特點(diǎn)促使網(wǎng)路爬蟲(chóng)面臨一定的困難,主要彰顯在 Web信息的巨大容量,使得爬蟲(chóng)在給定的時(shí)間內,只能下載少量網(wǎng)頁(yè)。有研究表明,沒(méi)有那個(gè)搜索引擎才能索引超出16%的互聯(lián)網(wǎng)Web 頁(yè)面,即使才能提取全部頁(yè)面,也沒(méi)有足夠的空間來(lái)儲存。
為了提升爬行效率,爬蟲(chóng)須要在單位時(shí)間內盡可能多的獲取高質(zhì)量頁(yè)面,這是它面臨的困局之一。
當前有五種表示頁(yè)面質(zhì)量高低的方法:1、頁(yè)面與爬行主題之間的相似度;2、頁(yè)面在 Web 圖中的入度大??;3、指向它的所有頁(yè)面平均殘差之和;4、頁(yè)面在 Web 圖中的出度大??;5、頁(yè)面的信息位置。
為了提升爬行速率,網(wǎng)絡(luò )爬蟲(chóng)一般會(huì )采取“并行爬行”的工作方式,這種工作方式也造成了新的問(wèn)題:
1、重復性(并行運行的爬蟲(chóng)或爬行線(xiàn)程同時(shí)運行時(shí),增加了重復頁(yè)面);
2、質(zhì)量問(wèn)題(并行運行時(shí),每個(gè)爬蟲(chóng)或爬行線(xiàn)程只能獲取部份頁(yè)面,導致頁(yè)面質(zhì)量下滑);
3、通信帶寬代價(jià)(并行運行時(shí),各個(gè)爬蟲(chóng)或爬行線(xiàn)程之間不可避開(kāi)要進(jìn)行一些通訊,需要花費一定的帶寬資源)。
并行運行時(shí),網(wǎng)絡(luò )爬蟲(chóng)一般采用三種形式:
1、獨立形式(各個(gè)爬蟲(chóng)獨立爬行頁(yè)面,互不通訊);
2、動(dòng)態(tài)分配方法(由一個(gè)中央協(xié)調器動(dòng)態(tài)協(xié)調分配 URL 給各個(gè)爬蟲(chóng));
3、靜態(tài)分配方法(URL 事先界定給各個(gè)爬蟲(chóng))。
億速云,作為一家專(zhuān)業(yè)的IDC(互聯(lián)網(wǎng)數據中心)業(yè)務(wù)服務(wù)提供商、擁有豐富行業(yè)底蘊的專(zhuān)業(yè)云計算服務(wù)提供商,一直專(zhuān)注于技術(shù)創(chuàng )新和構建更好的服務(wù)品質(zhì),致力于為廣大用戶(hù),提供高性?xún)r(jià)比、高可用性的“裸金屬服務(wù)器、云服務(wù)器、高防服務(wù)器、高防IP、香港服務(wù)器、日本服務(wù)器、美國服務(wù)器、SSL證書(shū)”等專(zhuān)業(yè)產(chǎn)品與服務(wù)。