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
主站蜘蛛池模板: 四虎成人免费毛片| 福利一区三区| 日本亚洲国产一区二区三区| 欧美怡红院视频一区二区三区| 亚洲欧美精品一中文字幕| 91在线免费公开视频| 91久久偷偷做嫩草影院精品| 国产区免费精品视频| 日韩国产一区二区三区无码| 婷婷在线网站| 国产69精品久久久久妇女| 乱系列中文字幕在线视频| 国产成人精品视频一区二区电影| 国产精品手机在线播放| 日韩亚洲高清一区二区| 国产91丝袜在线播放动漫| 亚洲人成网站色7799在线播放| 国产精品极品美女自在线网站| 五月婷婷亚洲综合| 国产凹凸视频在线观看| 国产极品美女在线| 亚洲伊人天堂| 亚洲男人的天堂久久香蕉网| 亚洲成在线观看 | 激情视频综合网| 亚洲国产精品一区二区第一页免| 中国一级特黄视频| 日韩精品无码一级毛片免费| 四虎永久在线精品国产免费| 日韩欧美国产另类| 精品视频在线观看你懂的一区| 免费看美女毛片| 国产成人你懂的在线观看| 精品国产黑色丝袜高跟鞋 | 精品国产一区91在线| 亚洲综合色区在线播放2019| 亚洲一区二区视频在线观看| 久久国产精品77777| 国产精品视频猛进猛出| 狠狠亚洲五月天| 国产Av无码精品色午夜| 日本a级免费| 国产乱人伦AV在线A| 日韩午夜片| 黄色一及毛片| 欧美视频在线不卡| 精品无码国产一区二区三区AV| 国产真实乱人视频| 97se亚洲综合在线天天| 国产麻豆精品久久一二三| 91无码人妻精品一区二区蜜桃| 国产福利影院在线观看| 日韩性网站| 97在线视频免费观看| 免费看的一级毛片| 在线a网站| 亚洲国产成人精品一二区| 国产国语一级毛片在线视频| 欧美人与性动交a欧美精品| 熟女视频91| 成人午夜网址| 毛片久久久| 亚洲成aⅴ人在线观看| AV不卡在线永久免费观看| 亚洲成综合人影院在院播放| 在线国产你懂的| 人妻无码中文字幕第一区| 亚洲精品无码久久毛片波多野吉| 国产成人精彩在线视频50| 欧美性精品| 国产成人亚洲精品色欲AV| 欧美精品一区在线看| 久久夜色精品| 国产精品视频999| 欧美日韩精品综合在线一区| 偷拍久久网| 亚洲欧美综合另类图片小说区| 国产本道久久一区二区三区| 国产二级毛片| 黄色网址免费在线| 日本一区二区不卡视频| 欧美精品v欧洲精品|