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

基于AJAX的深網爬蟲設計

2017-11-07 06:11:08孫龍李彥
現代計算機 2017年28期
關鍵詞:頁面

孫龍,李彥

(1.四川大學計算機學院,成都 610065;2.四川大學制造學院,成都 610065)

基于AJAX的深網爬蟲設計

孫龍1,李彥2

(1.四川大學計算機學院,成都 610065;2.四川大學制造學院,成都 610065)

AJAX技術廣泛應用在深網中,要實現對深網的AJAX頁面數據采集,爬蟲技術將面臨新的挑戰。在研究如何發現網頁中包含超鏈接標簽、AJAX事件的爬取元素,并有效遍歷由事件觸發的AJAX響應信息的基礎上,提出一種AJAX深網狀態模型,設計爬取算法。并通過實驗驗證該爬蟲模型能夠有效提升實現AJAX深網的爬取的覆蓋率。

0 引言

深網(Deep Web),也稱隱形網絡(Invisible Web),或隱藏網絡(Hidden Web),是萬維網的一部分,其內容因種種原因無法被標準搜索引擎索引到。與深層網絡相反的術語是表層網絡。大量Web信息深埋于網站之下,傳統的搜索引擎無法尋找它們,發現它們,取回深網之中的內容,被傳統搜索引擘索引的那部分只是表層網絡。無法測量和嚴格估計的深網的大小,因為大多數的信息被隱藏或鎖定在數據庫內。早期的估算表明,深網的信息要比表層網絡大幾個數量級,深網是400倍至550倍大于表層網,其大小約有7.5PB[1]。然而,由于不斷有更多的信息和網站被添加,可以估算深網應是以指數級的數量成倍增長。隨著AJAX技術的不斷發展,越來越多的深網采取了這一技術。AJAX深網的爬取也逐漸成為學者研究的一個熱點。

1 AJAX深網爬取

網絡爬蟲也被稱作網絡蜘蛛[2],或自動網絡索引[3],是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。

網絡爬蟲一般從一個URL列表中開始抓取,這個列表稱作種子。當爬蟲讀取這些列表時,它會識別出URL列表中網頁所包含的超鏈接并將其添加到要爬取的隊列中,稱為爬取邊界。爬取邊界的URL會按照規定策略遞歸地進行訪問。聚焦爬蟲的工作流程較為復雜,需要根據一定的網頁分析算法過濾與主題無關的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊列。然后,它將根據一定的搜索策略從隊列中選擇下一步要抓取的網頁URL,并重復上述過程,直到達到系統的某一條件時停止。如果爬蟲正在進行網站文檔獲取,它會將其訪問過的網頁進行復制和保存。另外,所有被爬蟲抓取過的網頁將會被系統存貯,進行一定的分析、過濾,并建立索引,以便之后的查詢和檢索。這些經常存儲在網站上以被查看、閱讀和導航的文檔,會被以“快照”的方式進行保存到本地[4]。歸檔被稱為倉儲,用來存儲和管理網頁的集合。倉庫只存儲HTML頁,這些頁被存儲為不同的文件,倉儲庫與存儲數據的其他系統類似,就像現代數據庫一樣。唯一不同的是,倉儲庫不需要數據庫系統提供的所有功能。倉儲庫存儲由爬蟲檢索的網頁的最新版本[5]。

雖然無法直接發現特定的網站服務的內容,以便可以對其建立索引,但這個網站可以可能通過間接的方式進行訪問。為了發現網站內容,淺網采取的搜索引擎從已知協議的虛擬端口號跟蹤超鏈接的技術,對于深網內容基本無效。舉例說,這些爬蟲不會去嘗試發現AJAX結果生成的動態頁面。深網爬取也成倍增加了待爬取的網頁鏈接,一些爬蟲只從網頁代碼中形如<a href="URL">取出一部分URL。其中通過AJAX生成的頁面會給爬蟲帶來問題。在這方面學者已有一些研究,陸亮等采取rhino組件實現了一個AJAX爬蟲[6],以分析JavaScript代碼來獲取URL,但該設計中缺乏對頁面狀態的遍歷,爬取AJAX內容十分有限;郭津丞等提出了一個用WebKit模擬JavaScript動作的爬蟲模型[7],但該模型在摸擬AJAX事件觸發機制還比較欠缺。要解決好AJAX深網的內容爬取,必須將網頁狀態遍歷,事件觸發,XML解析技術有機融合,才能有效實現更大范圍的內容覆蓋和更高的爬取效率。

2 算法原理

與靜態網頁相比,AJAX網頁是在靜態網頁的基礎上,通過JavaScript實現網頁內容的動態變化。靜網頁一般通過一系列<a href=’XXXXX’>超鏈接到其他網頁,而AJAX網頁可以通過通定義各種事件實現同一網頁內容的變化,或者到其他網頁的跳轉。

2.1 狀態定義

為了實現對AJAX的爬取,我們需要針對AJAX網頁建立相應的模型。一個網站的狀態模型可以用下述元組表示:

<Dom,element,event,action>

Dom表示網頁對象模型結構

Element網頁內的各種元素,名稱及狀態屬性;

Event綁定于元素的事件

Action事件觸發后,網站相應的操作

在爬取過程中,由于事件的觸發,dom相應發生更新,element元素發達變化,包括新的元素,以及元素新的狀態,與綁定的事件又形成了新元組。我們將上述元組中element元素組以<name,status>表示,則可以用<name,status,event,action>簡潔而唯一地標示出包含狀態的動作元素,本文以actionlist命名。

2.2 算法設計

爬取AJAX相應的算法也可描述為:

第一步:從爬取隊列中指定鏈接;將提取URL作為crawler任務線程準備加入到事件隊列。

第二步,若事件隊列是超鏈接,則抓取新的網頁,生成dom;若是AJAX事件,則觸發AJAX事件并獲取響應內容,刷新dom;

第三步,對dom的元素進行解析,根據網頁的超鏈接、綁定AJAX事件的元素,元素的狀態,生成元組。

第四步,遍歷元組,由相應的element,及event,對應生成actionlist;

第五步,若未達到最大爬取深度,則將actionlist進行去重處理,并加入爬取隊列;

第六步,按此過程進行新一輪的迭代。繼續轉之前爬取步驟。

具體實現為:

其主要功能介紹:addactionlist添加動作,動作隊列actionlists存儲網頁事件動成作隊列,根據事件動作隊列,生成相應爬取任務,啟動fecher抓取相關網頁。在整個抓取過程中,根據動作元組hash,對網址進行去重處理duplicate removal。去重之后的網頁進行解析,并存儲。抓取的過程中也根據網頁含的鏈接、事件動作,更新actionlist,進行廣度遍歷。Fetcher內部采用生產者消費者模式,QueueFeeder線程不斷從Generator中獲取抓取任務,FetcherThread則負責消費這些任務-抓取頁面。

在這些包中,crawler和fecher包是整個爬取系統的核心功能包,其中,crawler包調用fecher抓取頁面,從頁面中提取鏈接,生成種子,注入種子到抓取隊列,fecher從種子隊列中取出種子,執行抓取任務。兩個模塊的主要功能如圖1所示。

圖1 Crawler主要功能示意圖

3 實驗比較

我們將該爬蟲與常規爬蟲在實驗環境中進行了比較,以Tomcat服務器,用JSP+AJAX從數據庫生成動態網頁,我們采取httpclient+htmlunit+Selenium組件,從各大專利網站以廣度優先方式進行爬取,以網站域名和專利類別索引為單位來切分爬取工作,每個分類對應一個map任務。系統要維護一個全局一索引表,用來記錄哪些url已經爬取過,哪些尚未爬取,哪些正在爬取。這樣可以實現在hadoop上的分布式知識爬取目標。并與傳統爬蟲heritrix進行了比較。

從表1中可以看出,相對較傳統爬蟲,AJAX爬蟲能夠在AJAX動態網頁上爬取更多的網頁內容。分析其原因,傳統的爬蟲(如heritrix)僅能從單一的<a href=..>標簽中去判斷下一步要抓取的隊列。而AJAX爬蟲可以從網頁中所有的元素綁定的事件中去觸發下一步抓取的隊列。因此,其抓取范圍和內容遠大于普通爬蟲。另外,AJAX爬蟲的抓取速度又遠低于傳統抓蟲,其原因于,AJAX爬蟲需要解析綁定JavaScript事件的所有網頁元素,傳統爬蟲僅需解析單一的超鏈接標簽;AJAX爬蟲還需要通過模擬組件httpclient+html?unit+Selenium來模擬對AJAX事件的觸發,十分耗時;傳統爬蟲則直接用http get命令去下載url的內容,相對快得多。

表1 爬蟲性能比較

[1]Bergman,Michael K(August 2001).The Deep Web:Surfacing Hidden Value.The Journal of Electronic Publishing.7(1)。

[2]Spetka,Scott.The TkWWW Robot:Beyond Browsing.NCSA.Archived from the Original on 3 September,2004.

[3]Kobayashi,M.&Takeda,K.(2000).Information Retrieval on the Web.ACM Computing Surveys.ACM Press,32(2):144-173.

[4]Masanès,Julien(February 15,2007).Web Archiving.Springer.p.1.ISBN 978-3-54046332-0.

[5]Patil,Yugandhara et al.(2016).Review of Web Crawlers with Specification and Working.International Journal of Advanced Research Computer and Communication Engineering,5(1):4.

[6]陸亮,李東.支持AJAX的網絡爬蟲設計與實現[J].智能計算機與應用,2013(06):57-59+62

[7]郭津丞,馮超,張磊.基于WebKit的網絡爬蟲[J].現代電子技術,2013(18):62-64.

Design of Deep Web Crawler Based on AJAX

SONG Long1,LI Yan2
(1.CollegeofComputerScience,Sichuan University,Chengdu 610065;2.CollegeofManufacturing,SichuanUniversity,Chengdu 610065)

AJAX technology is widely used in the deep network,yet implementing the data acquisition of the AJAX pages of the deep web by the web crawler technology faces huge challenges.On the basis of studying how to find the hyperlink information in the webpage,and effectively tra?versing the event triggered Ajax response information,proposes a AJAX deep web state model and designs a crawling algorithm.Experi?ments show that the crawler model can effectively enhance the coverage rate of AJAX deep web crawling.

爬蟲;AJAX;搜索引擎

1007-1423(2017)28-0072-04

10.3969/j.issn.1007-1423.2017.28.019

孫龍(1975-),男,四川巴中人,研究方向為軟件工程、人工智能

2017-08-01

2017-09-25

Crawler;AJAX;Search Engine

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 红杏AV在线无码| 福利视频久久| 国产一级小视频| 久久综合伊人77777| 国产精品国产三级国产专业不 | 婷婷色狠狠干| 婷婷色婷婷| 国产精品自在拍首页视频8| 国产成人精品高清不卡在线| 欧美在线导航| 污网站在线观看视频| 无码不卡的中文字幕视频| 中文字幕日韩丝袜一区| 国产精品无码一二三视频| 九色国产在线| 欧美中文字幕在线播放| 国产精品极品美女自在线| 亚洲AV无码久久精品色欲| 久久婷婷综合色一区二区| 在线a视频免费观看| 国产丝袜91| 全色黄大色大片免费久久老太| 精品久久国产综合精麻豆| 欧美中日韩在线| 国产精品美女免费视频大全| 青青网在线国产| 亚洲熟妇AV日韩熟妇在线| 免费视频在线2021入口| 国产精品美女自慰喷水| 国产精品尤物在线| 国产人人乐人人爱| 国产一级毛片在线| 日本欧美精品| 中文字幕va| 欧美久久网| 2022国产91精品久久久久久| 曰韩人妻一区二区三区| 国产中文一区二区苍井空| 在线观看免费人成视频色快速| 欧美亚洲国产日韩电影在线| 亚洲视频二| 高清色本在线www| 女同久久精品国产99国| 欧美天堂在线| 成人第一页| 无码AV高清毛片中国一级毛片| 久久夜夜视频| a亚洲天堂| 欧美色99| 亚洲第一在线播放| 91探花在线观看国产最新| 波多野结衣在线se| 国产精品久久久久无码网站| 亚洲天堂视频网站| 国产成在线观看免费视频| 很黄的网站在线观看| 亚洲色图在线观看| 9cao视频精品| 日韩一级毛一欧美一国产| 国产精品偷伦视频免费观看国产| 色综合中文| 中文字幕佐山爱一区二区免费| 日韩精品视频久久| 日韩精品一区二区三区大桥未久| 成年人视频一区二区| 99爱视频精品免视看| 国产在线视频二区| 亚洲国产日韩一区| 红杏AV在线无码| 亚洲男人的天堂久久精品| 国产丝袜精品| 国产91蝌蚪窝| 亚洲综合二区| 色综合激情网| 尤物精品视频一区二区三区| 久久国产精品无码hdav| 成人无码一区二区三区视频在线观看| 欧美一级黄色影院| 亚洲色图另类| 国产福利一区视频| 人妻出轨无码中文一区二区| 成人国产精品2021|