999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

簡析搜索引擎的網絡爬蟲技術

2012-08-15 00:54:11姜從群
科技視界 2012年29期
關鍵詞:頁面信息

姜從群

(中國人民解放軍第二炮兵工程大學士官職業技術教育學院 山東 青州 262500)

1 網絡爬蟲技術

網絡爬蟲也稱為“文檔抽取系統”,是構成第三代搜索引擎系統的重要組成部分之一,主要由文檔適配器與信息爬行器組成,文檔適配器能夠處理不同類型的文檔,信息爬行器主要進行頁面信息的收集工作,文檔抽取子系統首先根據配置文件的約定,定時產生信息爬行器對分布在網絡上的信息節點進行遍歷,然后調用對應的文檔適配器來抽取網絡文檔信息。文檔適配器能夠抽取的頁面文件種類繁多,能夠對各種類型的文檔以及多媒體文本信息等。信息爬行器為計算機程序的一個進程或線程,通常采用并發工作方式,以便能可能多、周期盡可能短地搜集網絡節點的頁面信息,同時還要避免死鏈接或無效鏈接。信息爬行器一般采用分布式并行計算技術來提高工作的廣度與速度。

2 圖的遍歷算法

網絡爬蟲在網絡中執行信息收集的過程實際上就是一種圖的遍歷。圖的遍歷算法通常有兩種方式:即廣度優先算法與深度優先算法。下面就具體介紹一下兩種算法。

通常深度優先算法使用的數據結構為棧,通過棧的出入特點進行搜索,其過程首先從該圖的某個頂點或者子圖出發,將所有屬于該子圖的頂點信息的鏈接地址(即URL,Universal Resource Locator)進行壓棧操作,待所有頂點都操作完成后,然后將棧頂的元素取出,根據該元素的URL,訪問該元素URL所指向的網絡,然后將該頁面的信息進行收集與分析,從而得到該頁面內部的所有的URL連接信息,再將該頁面所有的連接信息進行壓棧,從而按照圖的廣度將圖上所有的鏈接進行展開操作,重復這些步驟就可以對圖進行深度搜索遍歷,達到遍歷收集所有互聯網信息資源的目的。

深度優先搜索算法在展開頁面鏈接時總是從棧頂進行展開,因此隨著時間的增加,棧的深度也在不斷增加,位于底部的元素可能會長時間不能進行處理,從而造成該算法陷入一個大的頁面而不能繼續展開遍歷。為了避免這一問題,可以采用廣度優先搜索算法,廣度優先搜索算法是通過隊列這種數據結構進行展開的,根據各個元素節點距離最初節點的層次對所有的網絡節點進行遍歷,從而對每個節點都能夠在訪問全網一次的時間內進行公平處理,克服了深度優先算法陷入局部節點的不足,也保證了不會漏掉隊列后面的的元素,從而達到了公平對待互聯網上所有節點資源的目的。

在廣度優先算法中,根據是否已經對節點進行訪問,將爬行隊列構造為兩部分:即待爬行隊列與已爬行隊列。待爬行隊列主要存儲需要進行訪問的元素節點URL,而URL在隊列中的先后順序則體現了算法的爬行策略。而已爬行隊列則主要存儲已經訪問過的URL,由于該隊列的長度隨著時間的增加不斷增長,因此需要優化該隊列的插入與查詢操作;在網絡爬蟲的爬行過程中,不論是帶爬行隊列還是已爬行隊列,都需要頻繁進行插入與查詢操作。因此,該隊列數據結構的性能會直接影響搜索引擎的搜集性能。

對爬行器來說,網頁的采集與解析是核心工作。而爬行程序是否高效,主要取決于網頁采集的效率。其過程分為5個步驟:

1)將待爬行隊列的第一個元素取出;

2)訪問DNS服務器,對URL進行域名解析;

3)根據ROBOT網絡協議,獲取該URL服務器的權限;

4)若得到訪問權限,則對服務器發出URL請求;

5)通過HTTP協議進行訪問。

網絡爬蟲在工作時,若頻繁訪問DNS服務器,可能會造成比較繁重的網絡負擔,引起服務器響應以及網絡延遲,會降低爬行程序的效率。因此,通常在本地服務器上建立一個DNS緩存來降低對DNS服務器的訪問頻率。同時,為了提高爬行程序的效率,通常采用多線程或者多進程來對網頁采集程序進行流水線處理,多線程與多進程程序設計相對比較復雜,需要解決的問題主要是進程的同步和互斥;也就是解決多個線程或進程共享資源的問題。造成死鎖的情況通常是占有一個資源然后又請求另一資源,因此,若系統只存在一個共享資源就不會造成會死鎖。為了解決餓死問題,通常只采用一個等待對列,若待爬行隊列處于使用狀態,則將要訪問該隊列的線程插入等待隊列。而隊列的特點能夠保證了所有的等待線程都公平對待,從而解決了餓死問題。具體算法如下:

1)對爬行隊列上鎖。若爬行隊列已經上鎖,則將該線程或進程插入等待對列。

2)取出待爬行隊列的URL元素。

3)對爬行隊列解鎖,然后喚醒下一個進程或線程。

4)訪問頁面,將頁面中的URL進行解析。

5)對爬行隊列上鎖。如爬行隊列已上鎖,則插入等待對列。

6)將步驟4)得到的URL插入對列。

7)對爬行隊列解鎖,喚醒下一個進程或線程。

8)重復1)——7)直到結束。

3 頁面解析

在解決了互聯網節點頁面遍歷的問題后,網絡爬蟲剩下的工作就是頁面解析,頁面解析主要是分析與理解HTML(超文本標記語言)文檔。HTML作為一種標記語言,能夠對互聯網節點的頁面外觀進行標準化處理,從而規范互聯網節點頁面的外觀與功能。實際上,超文本標記語言就是以普通文本為基礎,通過增加各種表現樣式以及字體、顏色標簽來實現文檔的規范化。通常各種標簽都用雙箭頭進行標識,而文本信息則位于<tag></tag>之間。圖2為一個典型的超文本標記語言文檔。

在超文本標記語言中,能夠表達連接的標簽通常是anchor標簽,即通過<a>…</a>進行標識的標簽,長用來表達URL的超鏈接。各種頁面通過該標簽,將個節點相互獨立的網頁進行鏈接,從而構成了一種頁面連接圖的結構。解析HTML的文檔包括兩個步驟:

1)對表單進行識別解析,然后填寫該表單提交請求,在收到返回結果后,從結果中提取錨文本以及URL;

2)把超文本標記語言變換為純文本。

在解析頁面的過程中,首先需要獲取<a></a>標簽對之間的純文本信息(錨文本)與該文本標簽的URL地址,然后將HTML文檔中的標簽進行消除。這些工作都是字符串的處理工作,處理步驟如下:

1)使用HTML分析工具清洗頁面文檔,使之轉變成全部標準化的超文本標記語言頁面;

2)通過字符串處理工具解析HTML網頁;

3)將結果進行輸出。

通過以上解析過程,將URL信息從頁面中抽取出來,然后進行評價,再放入爬行隊列進行處理。

4 結束語

本文主要介紹了搜索引擎的網絡爬蟲技術,該技術是構成現代搜索引擎系統的重要組成部分之一,文章詳細研究圖的遍歷算法的兩種方式:即廣度優先算法與深度優先算法。在解決了互聯網節點頁面遍歷的問題后,對網絡爬蟲中的重要工作——頁面解析進行了具體的分析。

猜你喜歡
頁面信息
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
其實IE也懂Chrome的心
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产尤物视频网址导航| 国产剧情伊人| 久无码久无码av无码| 国产在线观看成人91| 亚洲无码熟妇人妻AV在线| 久久久久亚洲精品成人网| 丰满少妇αⅴ无码区| 久久综合九色综合97网| 欧美日韩国产在线播放| 亚洲精品人成网线在线| 亚洲狼网站狼狼鲁亚洲下载| 亚洲区视频在线观看| 免费激情网址| 色悠久久久久久久综合网伊人| 免费看一级毛片波多结衣| 国产精品太粉嫩高中在线观看 | 天天综合网色中文字幕| 欧美日韩一区二区在线免费观看| 精品久久久无码专区中文字幕| 国产99视频在线| 亚洲区第一页| 九九九精品视频| 99国产精品一区二区| 欧美日韩国产成人在线观看| 中文纯内无码H| 三级国产在线观看| 欧美性爱精品一区二区三区| 精品自窥自偷在线看| 国产专区综合另类日韩一区| 99热这里只有精品2| 国产精品手机在线观看你懂的| 中文字幕免费在线视频| 亚洲欧美极品| 天天色天天综合| 毛片一级在线| 亚洲浓毛av| 国产亚洲一区二区三区在线| 成人韩免费网站| 韩国福利一区| h网站在线播放| 日韩欧美一区在线观看| 国产精品污污在线观看网站| 超清无码一区二区三区| 日本午夜精品一本在线观看 | 欧美高清国产| 久久精品亚洲中文字幕乱码| 久久青草精品一区二区三区| 999国内精品视频免费| 亚洲美女视频一区| 精品剧情v国产在线观看| 国产免费羞羞视频| 一区二区三区高清视频国产女人| 免费va国产在线观看| 九月婷婷亚洲综合在线| 青青青国产视频手机| 日韩精品成人网页视频在线| 97超级碰碰碰碰精品| 亚洲最新在线| 青青青国产精品国产精品美女| 亚洲人成网站在线观看播放不卡| 亚洲欧美激情另类| 国产成人永久免费视频| 欧美日韩国产成人高清视频| 91成人在线免费观看| 色综合天天操| 久久99久久无码毛片一区二区| 午夜不卡视频| 欧美在线伊人| 亚洲综合色吧| 欧美综合中文字幕久久| 无码免费的亚洲视频| 久久天天躁狠狠躁夜夜躁| 视频一区视频二区日韩专区| 国产精品无码AV片在线观看播放| 亚洲无码精彩视频在线观看| 波多野结衣AV无码久久一区| 人与鲁专区| 免费午夜无码18禁无码影院| 国产在线高清一级毛片| 99视频在线精品免费观看6| 亚洲无限乱码| 第九色区aⅴ天堂久久香|