面向分布式的通用網(wǎng)絡(luò)爬蟲系統(tǒng)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-07-10 10:31
隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)上的數(shù)據(jù)呈指數(shù)增長(zhǎng)。用戶獲取信息的一個(gè)重要途徑就是通過搜索引擎,搜索引擎通過抓取全網(wǎng)數(shù)據(jù)來為用戶提供搜索。中小型的數(shù)據(jù)抓取需求使用單機(jī)爬蟲即可滿足,然而在遇到大型的數(shù)據(jù)抓取需求時(shí),為了提高整體網(wǎng)絡(luò)爬蟲系統(tǒng)的性能,需要借助分布式技術(shù),通過有效的分工和多臺(tái)機(jī)器之間的協(xié)作來提高抓取效率,F(xiàn)有的分布式網(wǎng)絡(luò)爬蟲框架在擴(kuò)展性和可用性上不夠完善,本文提出的面向分布式的通用網(wǎng)絡(luò)爬蟲系統(tǒng)采用當(dāng)前較為成熟的分布式技術(shù),使得爬蟲系統(tǒng)在數(shù)據(jù)抓取的各方面都有優(yōu)異的表現(xiàn)。本文的主要工作如下:1)給出了一種基于歷史數(shù)據(jù)的時(shí)效性種子頁(yè)面調(diào)度算法。調(diào)度模塊是網(wǎng)絡(luò)爬蟲系統(tǒng)的核心模塊,調(diào)度算法的質(zhì)量直接影響到整個(gè)系統(tǒng)的成本和效率。針對(duì)種子頁(yè)面調(diào)度不靈活的問題,提出了基于歷史數(shù)據(jù)的時(shí)效性調(diào)度算法。同時(shí),利用回歸預(yù)測(cè)算法計(jì)算模型后,應(yīng)用在調(diào)度模塊中,使得算法在成本、命中率、延時(shí)上都獲得了比較好的效果。2)給出了一種URL歸一化去重的挖掘算法。URL去重是影響網(wǎng)絡(luò)爬蟲性能的另一重要因素,去重可以為系統(tǒng)節(jié)約大量的存儲(chǔ)空間,并且提高后續(xù)使用數(shù)據(jù)時(shí)的檢索效率。本文通過對(duì)去重模塊提出挖掘規(guī)則來改善URL歸一化的...
【文章來源】:北京工業(yè)大學(xué)北京市 211工程院校
【文章頁(yè)數(shù)】:79 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
通用網(wǎng)絡(luò)爬蟲框架
圖 2-1 Scrapy 框架結(jié)構(gòu)及數(shù)據(jù)流圖Figure 2-1 Scrapy framework structure and data flow diagram圖 2-1 顯示了 Scrapy 的架構(gòu)及其模塊的概述,以及系統(tǒng)內(nèi)部的數(shù)據(jù)流的概要,下面提供了這些模塊的簡(jiǎn)要說明以及數(shù)據(jù)流的描述。數(shù)據(jù)流描述如下:(1)爬蟲主引擎得到初始化的請(qǐng)求發(fā)送給爬蟲模塊。(2)引擎調(diào)度模塊獲取到請(qǐng)求準(zhǔn)備下次調(diào)度。(3)調(diào)度模塊把請(qǐng)求返回給主引擎。(4)主引擎把請(qǐng)求發(fā)送給下載模塊,其中經(jīng)過若干下載中間件。(5)當(dāng)頁(yè)面下載完畢后,下載模塊生成一個(gè)頁(yè)面的響應(yīng)并回傳給主引擎,也會(huì)經(jīng)過下載中間件。(6)主引擎把響應(yīng)發(fā)送給爬蟲模塊來處理,其中經(jīng)過若干爬蟲中間件。(7)爬蟲處理請(qǐng)求后返回?cái)?shù)據(jù)和新的響應(yīng)給主引擎,也會(huì)經(jīng)過爬蟲中間件。(8)主引擎把返回的數(shù)據(jù)集發(fā)送給數(shù)據(jù)處理管道,然后發(fā)送新的請(qǐng)求給調(diào)度模塊。(9)進(jìn)程重復(fù)步驟 1~8 直到調(diào)度模塊沒有新的請(qǐng)求為止。相關(guān)模塊的描述如下:(1)Scrapy 主引擎負(fù)責(zé)控制數(shù)據(jù)流圖通過所有其他系統(tǒng)的模塊
圖 2-2 Nutch 工作流圖Figure 2-2 Nutch workflow diagram圖 2-2 為 Nutch 的工作流圖,各個(gè)流程的介紹如下:(1)Injector 負(fù)責(zé)將 URL 注入到 CrawlDB,這里會(huì)清理非正常的 URL,并把抓過的 URL 進(jìn)行標(biāo)記防止多次抓取。(2)Generator 負(fù)責(zé)根據(jù) CrawlDB 創(chuàng)建抓取列表,會(huì)創(chuàng)建一個(gè)抓取的列表,以文件夾的形式存在,存儲(chǔ)于 segments 下面,記錄了當(dāng)前爬蟲的進(jìn)度信息。
【參考文獻(xiàn)】:
期刊論文
[1]大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J]. 程學(xué)旗,靳小龍,王元卓,郭嘉豐,張鐵贏,李國(guó)杰. 軟件學(xué)報(bào). 2014(09)
[2]一種網(wǎng)絡(luò)爬蟲系統(tǒng)中URL去重方法的研究[J]. 成功,李小正,趙全軍. 中國(guó)新技術(shù)新產(chǎn)品. 2014(12)
[3]國(guó)內(nèi)網(wǎng)頁(yè)去重技術(shù)研究:現(xiàn)狀與總結(jié)[J]. 李志義,梁士金. 圖書情報(bào)工作. 2011(07)
[4]基于正文結(jié)構(gòu)和長(zhǎng)句提取的網(wǎng)頁(yè)去重算法[J]. 黃仁,馮勝,楊吉云,劉宇,敖民. 計(jì)算機(jī)應(yīng)用研究. 2010(07)
[5]基于泊松過程的爬蟲調(diào)度策略分析[J]. 徐尚瑜. 現(xiàn)代計(jì)算機(jī)(專業(yè)版). 2009(12)
[6]高性能網(wǎng)絡(luò)爬蟲:研究綜述[J]. 周德懋,李舟軍. 計(jì)算機(jī)科學(xué). 2009(08)
[7]基于Bloom Filter的大規(guī)模網(wǎng)頁(yè)去重策略研究[J]. 丁振國(guó),吳寶貴,辛友強(qiáng). 現(xiàn)代圖書情報(bào)技術(shù). 2008(03)
[8]一個(gè)增量搜集中國(guó)W eb的系統(tǒng)模型及其實(shí)現(xiàn)[J]. 孟濤,閆宏飛,王繼民. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2005(S1)
[9]MD5算法在消除重復(fù)網(wǎng)頁(yè)算法中的應(yīng)用[J]. 彭曙蓉,章兢,楊文忠. 電腦知識(shí)與技術(shù). 2005(29)
[10]網(wǎng)格計(jì)算中任務(wù)調(diào)度研究綜述[J]. 羅紅,慕德俊,鄧智群,王曉東. 計(jì)算機(jī)應(yīng)用研究. 2005(05)
碩士論文
[1]基于Scrapy的分布式網(wǎng)絡(luò)爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 樊宇豪.電子科技大學(xué) 2018
[2]網(wǎng)絡(luò)爬蟲技術(shù)在云平臺(tái)上的研究與實(shí)現(xiàn)[D]. 劉小云.電子科技大學(xué) 2016
[3]基于Storm云平臺(tái)的分布式網(wǎng)絡(luò)爬蟲技術(shù)研究與實(shí)現(xiàn)[D]. 付志鴻.電子科技大學(xué) 2015
[4]網(wǎng)頁(yè)正文提取及去重技術(shù)研究[D]. 胡金棟.浙江大學(xué) 2011
[5]基于Hadoop的分布式爬蟲及其實(shí)現(xiàn)[D]. 程錦佳.北京郵電大學(xué) 2010
本文編號(hào):3275745
【文章來源】:北京工業(yè)大學(xué)北京市 211工程院校
【文章頁(yè)數(shù)】:79 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
通用網(wǎng)絡(luò)爬蟲框架
圖 2-1 Scrapy 框架結(jié)構(gòu)及數(shù)據(jù)流圖Figure 2-1 Scrapy framework structure and data flow diagram圖 2-1 顯示了 Scrapy 的架構(gòu)及其模塊的概述,以及系統(tǒng)內(nèi)部的數(shù)據(jù)流的概要,下面提供了這些模塊的簡(jiǎn)要說明以及數(shù)據(jù)流的描述。數(shù)據(jù)流描述如下:(1)爬蟲主引擎得到初始化的請(qǐng)求發(fā)送給爬蟲模塊。(2)引擎調(diào)度模塊獲取到請(qǐng)求準(zhǔn)備下次調(diào)度。(3)調(diào)度模塊把請(qǐng)求返回給主引擎。(4)主引擎把請(qǐng)求發(fā)送給下載模塊,其中經(jīng)過若干下載中間件。(5)當(dāng)頁(yè)面下載完畢后,下載模塊生成一個(gè)頁(yè)面的響應(yīng)并回傳給主引擎,也會(huì)經(jīng)過下載中間件。(6)主引擎把響應(yīng)發(fā)送給爬蟲模塊來處理,其中經(jīng)過若干爬蟲中間件。(7)爬蟲處理請(qǐng)求后返回?cái)?shù)據(jù)和新的響應(yīng)給主引擎,也會(huì)經(jīng)過爬蟲中間件。(8)主引擎把返回的數(shù)據(jù)集發(fā)送給數(shù)據(jù)處理管道,然后發(fā)送新的請(qǐng)求給調(diào)度模塊。(9)進(jìn)程重復(fù)步驟 1~8 直到調(diào)度模塊沒有新的請(qǐng)求為止。相關(guān)模塊的描述如下:(1)Scrapy 主引擎負(fù)責(zé)控制數(shù)據(jù)流圖通過所有其他系統(tǒng)的模塊
圖 2-2 Nutch 工作流圖Figure 2-2 Nutch workflow diagram圖 2-2 為 Nutch 的工作流圖,各個(gè)流程的介紹如下:(1)Injector 負(fù)責(zé)將 URL 注入到 CrawlDB,這里會(huì)清理非正常的 URL,并把抓過的 URL 進(jìn)行標(biāo)記防止多次抓取。(2)Generator 負(fù)責(zé)根據(jù) CrawlDB 創(chuàng)建抓取列表,會(huì)創(chuàng)建一個(gè)抓取的列表,以文件夾的形式存在,存儲(chǔ)于 segments 下面,記錄了當(dāng)前爬蟲的進(jìn)度信息。
【參考文獻(xiàn)】:
期刊論文
[1]大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J]. 程學(xué)旗,靳小龍,王元卓,郭嘉豐,張鐵贏,李國(guó)杰. 軟件學(xué)報(bào). 2014(09)
[2]一種網(wǎng)絡(luò)爬蟲系統(tǒng)中URL去重方法的研究[J]. 成功,李小正,趙全軍. 中國(guó)新技術(shù)新產(chǎn)品. 2014(12)
[3]國(guó)內(nèi)網(wǎng)頁(yè)去重技術(shù)研究:現(xiàn)狀與總結(jié)[J]. 李志義,梁士金. 圖書情報(bào)工作. 2011(07)
[4]基于正文結(jié)構(gòu)和長(zhǎng)句提取的網(wǎng)頁(yè)去重算法[J]. 黃仁,馮勝,楊吉云,劉宇,敖民. 計(jì)算機(jī)應(yīng)用研究. 2010(07)
[5]基于泊松過程的爬蟲調(diào)度策略分析[J]. 徐尚瑜. 現(xiàn)代計(jì)算機(jī)(專業(yè)版). 2009(12)
[6]高性能網(wǎng)絡(luò)爬蟲:研究綜述[J]. 周德懋,李舟軍. 計(jì)算機(jī)科學(xué). 2009(08)
[7]基于Bloom Filter的大規(guī)模網(wǎng)頁(yè)去重策略研究[J]. 丁振國(guó),吳寶貴,辛友強(qiáng). 現(xiàn)代圖書情報(bào)技術(shù). 2008(03)
[8]一個(gè)增量搜集中國(guó)W eb的系統(tǒng)模型及其實(shí)現(xiàn)[J]. 孟濤,閆宏飛,王繼民. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2005(S1)
[9]MD5算法在消除重復(fù)網(wǎng)頁(yè)算法中的應(yīng)用[J]. 彭曙蓉,章兢,楊文忠. 電腦知識(shí)與技術(shù). 2005(29)
[10]網(wǎng)格計(jì)算中任務(wù)調(diào)度研究綜述[J]. 羅紅,慕德俊,鄧智群,王曉東. 計(jì)算機(jī)應(yīng)用研究. 2005(05)
碩士論文
[1]基于Scrapy的分布式網(wǎng)絡(luò)爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 樊宇豪.電子科技大學(xué) 2018
[2]網(wǎng)絡(luò)爬蟲技術(shù)在云平臺(tái)上的研究與實(shí)現(xiàn)[D]. 劉小云.電子科技大學(xué) 2016
[3]基于Storm云平臺(tái)的分布式網(wǎng)絡(luò)爬蟲技術(shù)研究與實(shí)現(xiàn)[D]. 付志鴻.電子科技大學(xué) 2015
[4]網(wǎng)頁(yè)正文提取及去重技術(shù)研究[D]. 胡金棟.浙江大學(xué) 2011
[5]基于Hadoop的分布式爬蟲及其實(shí)現(xiàn)[D]. 程錦佳.北京郵電大學(xué) 2010
本文編號(hào):3275745
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3275745.html
最近更新
教材專著