基于用戶界面狀態(tài)改變的Ajax動態(tài)網(wǎng)頁爬取算法研究
本文關(guān)鍵詞:基于用戶界面狀態(tài)改變的Ajax動態(tài)網(wǎng)頁爬取算法研究,由筆耕文化傳播整理發(fā)布。
【摘要】:現(xiàn)在的Web應(yīng)用程序中,由于JavaScript口動態(tài)文檔對象模型具有的高交互性和快速的應(yīng)答能力,使得它們在Web應(yīng)用程序端得到越來越廣泛的應(yīng)用。近年來隨著Web 2.0的興起,在網(wǎng)頁開發(fā)中也開始大量的運(yùn)用Ajax技術(shù)。傳統(tǒng)的Web站點(diǎn)中每一個URL標(biāo)志一個靜態(tài)頁面,而在Ajax應(yīng)用中,一個頁面可能有很多狀態(tài)變化,這種狀態(tài)變化并不能通過頁面的URL體現(xiàn)出來,而是通過文檔對象模型(DOM)結(jié)構(gòu)的動態(tài)變化來展現(xiàn),所以對Ajax程序的爬取不同于對傳統(tǒng)的網(wǎng)頁爬取,F(xiàn)有的一些對Ajax網(wǎng)頁爬取的算法存在爬取準(zhǔn)確度不高或者狀態(tài)爆炸等的問題,本論文結(jié)合Ajax動態(tài)網(wǎng)頁的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了一個可以爬取Ajax動態(tài)網(wǎng)頁的爬取系統(tǒng)。本論文提出了基于用戶界面狀態(tài)改變的Ajax動態(tài)網(wǎng)頁爬取算法,通過使用算法中狀態(tài)的轉(zhuǎn)換來模擬動態(tài)網(wǎng)頁中通過觸發(fā)動態(tài)事件造成的網(wǎng)頁結(jié)構(gòu)的改變。該算法首先初始化空的狀態(tài)圖及爬行隊(duì)列,通過給定的URL獲取初始頁面的DOM樹,通過遍歷DOM樹,算法識別出能夠引起狀態(tài)改變的候選可點(diǎn)擊元素,并依次觸發(fā)這些候選元素下的事件,然后進(jìn)行狀態(tài)比較,發(fā)現(xiàn)新的可能到達(dá)的狀態(tài),逐步更新狀態(tài)圖。為了能夠觸發(fā)同一狀態(tài)下對應(yīng)的所有綁定事件,該算法實(shí)現(xiàn)了狀態(tài)回退的方法,用來判別某個狀態(tài)下是否存在未被檢查到的可點(diǎn)擊元素存在。為了提高對Ajax動態(tài)網(wǎng)頁爬取的性能,本文又提出了并行爬取Ajax動態(tài)網(wǎng)頁的算法。該算法采用并行爬取的方法來進(jìn)行狀態(tài)爬取,通過控制器來監(jiān)測所有的爬取節(jié)點(diǎn),每個爬取節(jié)點(diǎn)負(fù)責(zé)自己對應(yīng)的狀態(tài)機(jī),從瀏覽器池中運(yùn)行自己的瀏覽器實(shí)例?刂破鞑捎脛討B(tài)分配任務(wù)的方法給所有參與的爬取節(jié)點(diǎn)合理分配爬取任務(wù),當(dāng)爬取節(jié)點(diǎn)發(fā)現(xiàn)一個新的狀態(tài)后,如果在先前的狀態(tài)下還有未被識別的候選可點(diǎn)擊元素存在,那么會沿著這個未被識別的狀態(tài),分配另一個線程新的線程進(jìn)行探索,這種方法下就不需要瀏覽器重新加載和狀態(tài)回退,極大的縮短了算法爬取的時間。最后,論文把算法應(yīng)用于一些實(shí)際的Web動態(tài)網(wǎng)頁中,通過實(shí)驗(yàn)對算法進(jìn)行了評估和分析,驗(yàn)證了算法的可行性和有效性。
【關(guān)鍵詞】:Ajax 動態(tài)網(wǎng)頁 文檔對象模型 狀態(tài)圖 并行爬取
【學(xué)位授予單位】:北京交通大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2016
【分類號】:TP393.092
【目錄】:
- 致謝5-6
- 摘要6-7
- ABSTRACT7-11
- 1 引言11-15
- 1.1 選題背景與意義11-12
- 1.2 國內(nèi)外相關(guān)研究12-13
- 1.3 本文研究內(nèi)容與結(jié)構(gòu)13-15
- 1.3.1 研究內(nèi)容概述13-14
- 1.3.2 組織結(jié)構(gòu)14-15
- 2 Ajax動態(tài)網(wǎng)頁15-29
- 2.1 HTML DOM15-17
- 2.2 Ajax原理17-18
- 2.3 Ajax動態(tài)網(wǎng)頁示例18-23
- 2.4 爬取模型中的相關(guān)概念23-26
- 2.4.1 用戶界面狀態(tài)23
- 2.4.2 狀態(tài)轉(zhuǎn)換23
- 2.4.3 可點(diǎn)擊元素23-24
- 2.4.4 狀態(tài)轉(zhuǎn)換圖24-26
- 2.5 爬蟲相關(guān)工具介紹26-28
- 2.5.1 Selenium WebDriver26
- 2.5.2 Jsoup解析工具26-28
- 2.6 本章小結(jié)28-29
- 3 Ajax動態(tài)網(wǎng)頁爬取算法29-40
- 3.1 爬取結(jié)構(gòu)圖29
- 3.2 爬取算法描述29-39
- 3.2.1 初始化32
- 3.2.2 檢測可點(diǎn)擊元素32-34
- 3.2.3 狀態(tài)比較34-36
- 3.2.4 DOM樹增量處理36-37
- 3.2.5 狀態(tài)回退37-39
- 3.3 本章小結(jié)39-40
- 4 Ajax動態(tài)網(wǎng)頁并行爬取算法40-68
- 4.1 并行爬取結(jié)構(gòu)圖40-41
- 4.2 算法描述41-46
- 4.2.1 瀏覽器池42-44
- 4.2.2 自上而下追蹤44
- 4.2.3 多節(jié)點(diǎn)爬取44-45
- 4.2.4 爬蟲分配函數(shù)45-46
- 4.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及實(shí)現(xiàn)46-56
- 4.3.1 系統(tǒng)整體結(jié)構(gòu)46-52
- 4.3.2 功能設(shè)計(jì)52-56
- 4.4 系統(tǒng)測試及結(jié)果分析56-67
- 4.4.1 有效性測試56-60
- 4.4.2 表單測試60-61
- 4.4.3 HTML解析測試61-63
- 4.4.4 并行爬取實(shí)驗(yàn)63-67
- 4.5 本章小結(jié)67-68
- 5 總結(jié)與展望68-70
- 5.1 總結(jié)68-69
- 5.2 展望69-70
- 參考文獻(xiàn)70-73
- 作者簡歷及攻讀碩士學(xué)位期間取得的研究成果73-75
- 學(xué)位論文數(shù)據(jù)集75
【相似文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前10條
1 張玉孔;;變量傳遞在ASP動態(tài)網(wǎng)頁中的應(yīng)用分析[J];計(jì)算機(jī)系統(tǒng)應(yīng)用;2007年08期
2 盧新建;;試談ASP動態(tài)網(wǎng)頁課程的教學(xué)探索[J];電腦編程技巧與維護(hù);2010年24期
3 楊振宇;建立動態(tài)網(wǎng)頁──ASP應(yīng)用舉例[J];電腦技術(shù);1998年06期
4 李嘉;開發(fā)動態(tài)網(wǎng)頁的利器——ASP[J];計(jì)算機(jī)與通信;1998年Z1期
5 花飄飄;動態(tài)網(wǎng)頁之絕招大全[J];多媒體世界;1999年06期
6 趙小林,陳英,劉然;動態(tài)網(wǎng)頁規(guī)劃與實(shí)現(xiàn)機(jī)制[J];北京理工大學(xué)學(xué)報;2001年01期
7 丁振凡,鄒芝蘭;ASP動態(tài)網(wǎng)頁中基于日期的條件查詢設(shè)計(jì)技術(shù)[J];計(jì)算機(jī)時代;2001年03期
8 羅媛;利用HTML設(shè)計(jì)動態(tài)網(wǎng)頁[J];蕪湖職業(yè)技術(shù)學(xué)院學(xué)報;2001年03期
9 楊毅;淺談動態(tài)網(wǎng)頁[J];成都師專學(xué)報;2002年04期
10 祝小華,楊建剛;動態(tài)網(wǎng)頁加速技術(shù)[J];計(jì)算機(jī)應(yīng)用;2002年04期
中國重要會議論文全文數(shù)據(jù)庫 前4條
1 冉熙璐;段磊;呂廣奕;陳珂;李鐘麒;黃東蘭;唐常杰;;基于對比學(xué)習(xí)的動態(tài)網(wǎng)頁用戶評論獲取方法[A];第29屆中國數(shù)據(jù)庫學(xué)術(shù)會議論文集(B輯)(NDBC2012)[C];2012年
2 于平福;劉凱龍;;基于ASP的農(nóng)業(yè)網(wǎng)站動態(tài)網(wǎng)頁的設(shè)計(jì)研究[A];山西省科學(xué)技術(shù)情報學(xué)會學(xué)術(shù)年會論文集[C];2004年
3 邵輝;李芳;;基于樹模型算法的動態(tài)網(wǎng)頁信息抽取研究[A];第二屆全國信息檢索與內(nèi)容安全學(xué)術(shù)會議(NCIRCS-2005)論文集[C];2005年
4 牟琦;;創(chuàng)建電子商務(wù)平臺的技術(shù)解決方案[A];第十一屆全國煤礦自動化學(xué)術(shù)年會論文專輯[C];2001年
中國重要報紙全文數(shù)據(jù)庫 前5條
1 丁一;“活的老鼠”不好抓[N];計(jì)算機(jī)世界;2001年
2 北京 董智勇;動態(tài)網(wǎng)頁新技術(shù)[N];中國電腦教育報;2001年
3 鄒肇輝 何艷陽;動態(tài)網(wǎng)頁打造利器——JSP[N];電腦報;2005年
4 Besky;輕松打造動態(tài)網(wǎng)頁菜單[N];電腦報;2003年
5 慰鵬飛;走進(jìn)編程之網(wǎng)絡(luò)篇(四)[N];江蘇經(jīng)濟(jì)報;2001年
中國碩士學(xué)位論文全文數(shù)據(jù)庫 前8條
1 楊柳;基于用戶界面狀態(tài)改變的Ajax動態(tài)網(wǎng)頁爬取算法研究[D];北京交通大學(xué);2016年
2 王婷;面向授權(quán)管理的動態(tài)網(wǎng)頁資源描述與搜集技術(shù)研究[D];解放軍信息工程大學(xué);2007年
3 段國云;基于環(huán)結(jié)構(gòu)的動態(tài)網(wǎng)頁防篡改系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D];湖南大學(xué);2012年
4 潘敏;動態(tài)網(wǎng)頁防篡改方法與技術(shù)研究[D];南昌航空大學(xué);2012年
5 郭常宏;借助動態(tài)網(wǎng)頁及局域網(wǎng)內(nèi)數(shù)據(jù)庫數(shù)據(jù)調(diào)用實(shí)現(xiàn)電視臺工作單管理及成本核算的開發(fā)調(diào)試和研究[D];山東大學(xué);2006年
6 童罕;面向LXR的動態(tài)網(wǎng)頁加速技術(shù)研究與實(shí)現(xiàn)[D];國防科學(xué)技術(shù)大學(xué);2008年
7 李魁;大規(guī)模Web論壇采集技術(shù)研究[D];中國科學(xué)院研究生院(計(jì)算技術(shù)研究所);2006年
8 沈祥;基于FPGA的嵌入式動態(tài)網(wǎng)頁Java Web服務(wù)器的研究與實(shí)現(xiàn)[D];上海交通大學(xué);2011年
本文關(guān)鍵詞:基于用戶界面狀態(tài)改變的Ajax動態(tài)網(wǎng)頁爬取算法研究,由筆耕文化傳播整理發(fā)布。
,本文編號:340787
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/340787.html