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頁面導航技術
主站蜘蛛池模板: 精品少妇人妻无码久久| 香蕉国产精品视频| 免费黄色国产视频| 久久综合色88| 国产国语一级毛片在线视频| 最新亚洲人成网站在线观看| 无码AV高清毛片中国一级毛片| 永久天堂网Av| 老司机精品一区在线视频 | 国产chinese男男gay视频网| 久久免费精品琪琪| 成人在线不卡| 97成人在线视频| 免费A级毛片无码免费视频| 国产福利微拍精品一区二区| 色国产视频| 日韩精品亚洲精品第一页| 国产美女无遮挡免费视频网站 | 久久精品无码中文字幕| 国产精品欧美日本韩免费一区二区三区不卡| 熟女日韩精品2区| 亚洲AV无码乱码在线观看裸奔| 亚洲国产天堂久久综合226114| 在线视频亚洲色图| 欧美日韩在线成人| 精品三级网站| 欧美日韩综合网| 国产精品制服| av尤物免费在线观看| 免费a级毛片视频| 国产人在线成免费视频| 国产主播在线一区| 国产精品99一区不卡| 亚洲第一黄色网址| 日韩福利在线视频| 亚洲精品不卡午夜精品| 天天激情综合| 2021亚洲精品不卡a| 99国产精品国产| h网址在线观看| 欧美精品成人一区二区在线观看| 国产精品13页| 免费观看无遮挡www的小视频| 欧美激情福利| 最新加勒比隔壁人妻| 久久久久中文字幕精品视频| 91成人免费观看| 国产在线精品香蕉麻豆| 91精品国产自产91精品资源| 亚洲国产日韩欧美在线| 日韩精品免费在线视频| 亚洲高清无码久久久| 亚洲成人黄色在线观看| 91小视频在线| 福利国产微拍广场一区视频在线 | 国产在线视频导航| 亚洲精品无码久久毛片波多野吉| 亚洲侵犯无码网址在线观看| 就去吻亚洲精品国产欧美| 99人体免费视频| 久久综合激情网| 2021国产精品自拍| 亚洲成A人V欧美综合| 91久久夜色精品国产网站| 欧美综合成人| 天天躁狠狠躁| 国产97公开成人免费视频| 日韩一区精品视频一区二区| 五月激情婷婷综合| 欧美人与牲动交a欧美精品| 日韩欧美中文亚洲高清在线| 国产屁屁影院| 露脸一二三区国语对白| 毛片网站在线播放| 亚洲国内精品自在自线官| 91在线视频福利| 亚洲欧美综合精品久久成人网| 97亚洲色综久久精品| 亚洲无码高清免费视频亚洲| 日韩国产高清无码| 日韩精品一区二区三区swag| 亚洲AV成人一区国产精品|