亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        主流開源爬蟲框架比較與分析

        2018-04-15 15:36:38北京工商大學
        電子世界 2018年6期
        關鍵詞:爬蟲搜索引擎開源

        北京工商大學 劉 雯

        1.引言

        近年來,隨著互聯(lián)網的高速發(fā)展,網絡中的數(shù)據呈現(xiàn)出了爆炸式的增長,如何收集整合這些數(shù)據并從中提取出有效的信息,引發(fā)了多方面的挑戰(zhàn)。面對這些挑戰(zhàn),爬蟲技術得到了充分的重視。開源網絡爬蟲框架使得爬蟲的開發(fā)與應用變的高效便捷。各個開源爬蟲框架的實現(xiàn)語言與功能不完全相同,適用場景也不盡相同,需要對比不同開源爬蟲框架之間的優(yōu)劣。

        2.爬蟲的相關概念

        網絡爬蟲是用于互聯(lián)網采集的一種工具,通常又被稱為網絡機器人。在數(shù)據挖掘、信息檢索等領域,網絡爬蟲被廣泛使用,從而獲取最原始的數(shù)據。網絡爬蟲也是信息檢索和搜索引擎的重要組成部分,通過網絡爬蟲采集到的信息,經過搜索引擎的整合,可以更好的用于檢索。

        2.1 網絡爬蟲的組成部分

        主流爬蟲框架通常由以下部分組成:

        1.種子URL庫:URL用于定位互聯(lián)網中的各類資源,如最常見的網頁鏈接,還有常見的文件資源、流媒體資源等。種子URL庫作為網絡爬蟲的入口,標識出爬蟲應該從何處開始運行,指明了數(shù)據來源。

        2.數(shù)據下載器:針對不同的數(shù)據種類,需要不同的下載方式。主流爬蟲框架通暢提供多種數(shù)據下載器,用來下載不同的資源,如靜態(tài)網頁下載器、動態(tài)網頁下載器、FTP下載器等。

        3.過濾器:對于已經爬取的URL,智能的爬蟲需要對其進行過濾,以提高爬蟲的整體效率。常用的過濾器有基于集合的過濾器、基于布隆過濾的過濾器等。

        4.流程調度器:合理的調度爬取流程,也可以提高爬蟲的整體效率。在流程調度器中,通常提供深度優(yōu)先爬取、廣度優(yōu)先爬取、訂制爬取等爬取策略。同時提供單線程、多線程等多種爬取方式。

        2.2 網絡爬蟲的爬取策略

        網絡爬蟲的爬取策略,可以更高效的組織爬蟲的爬取過程。常見的爬取策略包括深度優(yōu)先爬取、深度優(yōu)先爬取、訂制爬取等策略等。

        1.深度優(yōu)先爬?。涸摬呗栽谂廊∶總€URL資源后,會隨機爬取改URL對應的所有子URL資源,直到全部子URL資源全部爬取完畢,再爬取下一個URL資源。深度優(yōu)先爬取更關注數(shù)據的深度,希望通過爬取更多的子URL資源,來獲取更深層次的數(shù)據。

        2.廣度優(yōu)先爬取:該策略在爬取配個URL資源時,會繼續(xù)爬取同層次的其他URL資源,當本層的URL資源都被爬取完畢后,再爬取下一次URL資源。廣度優(yōu)先爬取更關注數(shù)據的廣度,這樣可以涵蓋更全面的數(shù)據。

        3.訂制爬?。涸俸芏鄨鼍爸校疃葍?yōu)先爬取或廣度優(yōu)先爬取無法滿足復雜的數(shù)據采集需求,此時需要訂制爬取策略,如垂直搜索策略,先通過制定關鍵詞進行搜索后,再結合深度優(yōu)先爬取或廣度優(yōu)先爬取,才可以獲取到垂直領域的特定數(shù)據。

        2.3 爬蟲的增量爬取

        從數(shù)據的角度看,有些爬蟲只進行單次的爬取操作,而有些爬蟲需要進行增量爬取,用來積累數(shù)據。

        對于單次爬取的網絡爬蟲,實現(xiàn)較為簡單,因為不用考慮過濾去重等操作,所以模塊相對較少。單次爬取的爬蟲主要考慮爬取的效率,有時會通過多線程或多進程等方式提高爬取效率。

        對于需要增量爬取的網絡爬蟲。通常需要對URL鏈接、資源內容等進行過濾和去重。每次爬取的時候,需要對比數(shù)據是否重復,并將已經爬取過的內容過濾掉,從而減少冗余數(shù)據的爬取和存儲。實際應用中,增量爬蟲的使用較為廣泛。

        3.主流開源爬蟲框架

        爬蟲技術發(fā)展至今,已經十分成熟,同時也產生了很多開源的爬蟲框架,入Nutch、Heritrix、Larbin、Scrapy,這些開源框架的實現(xiàn)語言與功能各不相同,以下是這幾款開源爬蟲框架的比較與分析。

        3.1 Nutch

        Nutch是一個比較大型的開源框架,也是隸屬于Apache基金會的一個開源項目。Nutch最初服務于Lucene項目,Lucene是一個完整的搜索引擎框架,其中Nutch提供數(shù)據爬取服務。因為Lucene是一個通用的搜索引擎框架,所以Nutch在設計之初也主要用于通用數(shù)據的爬取。在滿足通用需求的同時,Nutch犧牲了一些定制化開發(fā)的特性。

        優(yōu)點:Nutch適用于各種規(guī)模的爬取任務,底層可以和Hadoop平臺對接,提供分布式的爬取功能,同時支持分布式的調度及分布式的存儲。為了擴展各類定制化功能,Nutch設計了插件框架,可以通過添加插件,來實現(xiàn)更加復雜的爬取功能。

        缺點:雖然有插件框架,但是Nutch的定制化開發(fā)成本依舊較高。 在使用默認的配置過濾文件是,是不抓取動態(tài)網頁的,要想爬取動態(tài)網頁需要修改過濾規(guī)則。

        3.2 Heritrix

        Heritrix是基于Java語言的爬蟲框架,因其可擴展型和豐富的各類組件而著稱。但配置相對繁瑣,所以學習成本偏高。Heritrix提供了多種下載器,用于下載網頁、流媒體等多種類型的數(shù)據。Heritrix還提供了圖形界面用來管理爬蟲,可以通過網頁來啟動貨控制各類爬蟲。

        優(yōu)點:Heritrix的爬蟲定制參數(shù)多包括,可設置輸出日志、可設置多線程采集模式、可設置下載速度上限等 開發(fā)者可以通過修改組件的參數(shù),來高效的修改爬蟲功能 。

        缺點:Heritrix很難實現(xiàn)分布式爬取,因為多個單獨爬蟲之間,無法合作完成爬取任務,可擴展性較差。在爬取失敗時,也缺乏重試等機制,導致開發(fā)者需要做很多額外工作來彌補這些設計上的缺失。

        不同于Nutch框架,僅憑Heritrix不能完成搜索引擎的全部工作,而只能完成爬蟲階段的爬取工作。

        3.3 Larbin

        Larbin是一個基于C++語言的爬蟲框架。Larbin提供了相對簡單單十分易用的爬蟲功能。單機Larbin爬蟲可以每天獲取百萬量級的網頁。單Larbin不提供網頁解析服務,也不考慮內容的存儲及處理。如果像使用Larbin進行大型系統(tǒng)的實現(xiàn),則需要自行開發(fā)相應的其他組件。

        優(yōu)點:指定入口URL后,可以自動擴展,甚至整個網站鏡像;支持通過后綴名對抓取網頁進行過濾;只保存原始網頁;利用C++開發(fā),非常高效。

        缺點:只有網頁下載器,而沒有網頁解析器。不支持分布式爬取。沒有自動重試功能。該項目在2003年后停止開發(fā)維護。

        3.4 Scrapy

        Scrapy是基于python語言開發(fā)的爬蟲框架,由于它的輕量化設計和簡單易用,而廣泛受到開發(fā)者的歡迎。

        優(yōu)點:簡單易用:只需編寫爬取規(guī)則,剩下由scrapy完成易擴展:擴展性設計,支持插件,無需改動核心代碼可移植性:基于Linux、Windows、Mac、BSD開發(fā)和運行設計。

        缺點:單機多線程實現(xiàn),不支持分布式。數(shù)據存儲方案支持Local filesystem、FTP、S3、Standard output,默認無分布式存儲解決方案默認中間過程網頁不會保存,只保存抽取結果。

        4.總結與展望

        本文首先介紹了URL鏈接庫、文檔內容模塊、文檔解析模塊等爬蟲基礎概念,然后對比分析了Nutch、Heritrix、Larbin、Scrapy等主流開源爬蟲框架。不同的爬蟲開源框架的實現(xiàn)語言和功能不同,適用的場景也不盡相同,需要在實際應用中選擇合適的開源爬蟲框架。

        [1]劉瑋瑋.搜索引擎中主題爬蟲的研究與實現(xiàn)[D].南京理工大學,2006.

        [2]詹恒飛,楊岳湘,方宏.Nutch分布式網絡爬蟲研究與優(yōu)化[J].計算機科學與探索,2011,5(01):68-74.

        [3]安子建.基于Scrapy框架的網絡爬蟲實現(xiàn)與數(shù)據抓取分析[D].吉林大學,2017.

        [4]周立柱,林玲.聚焦爬蟲技術研究綜述[J].計算機應用,2005(09):1965-1969.

        [5]楊定中,趙剛,王泰.網絡爬蟲在Web信息搜索與數(shù)據挖掘中應用[J].計算機工程與設計,2009,30(24):5658-5662.

        猜你喜歡
        爬蟲搜索引擎開源
        利用網絡爬蟲技術驗證房地產灰犀牛之說
        基于Python的網絡爬蟲和反爬蟲技術研究
        五毛錢能買多少頭牛
        利用爬蟲技術的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        大數(shù)據環(huán)境下基于python的網絡爬蟲技術
        電子制作(2017年9期)2017-04-17 03:00:46
        大家說:開源、人工智能及創(chuàng)新
        開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網+創(chuàng)新2.0
        開源計算機輔助翻譯工具研究
        網絡搜索引擎亟待規(guī)范
        基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
        国产成人av免费观看| 精品国产中文字幕久久久| 粉嫩小泬无遮挡久久久久久| 天天鲁一鲁摸一摸爽一爽| 国产精品久久码一区二区| 亚洲av精品一区二区三| 中文字幕久久久人妻人区| 女的扒开尿口让男人桶30分钟 | 精品中文字幕手机在线| 日韩精品视频高清在线| 亚洲av久久久噜噜噜噜| 四月婷婷丁香七月色综合高清国产裸聊在线 | 亚洲av激情一区二区| 国产电影一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 亚洲午夜无码久久久久软件| 国产黑丝美女办公室激情啪啪 | 精品无码一区二区三区亚洲桃色| 加勒比日本东京热1区| 尤物蜜桃视频一区二区三区| 中文字幕一精品亚洲无线一区| 四虎影视一区二区精品| 免费国产在线精品三区| 新中文字幕一区二区三区| 97人人模人人爽人人喊电影 | 偷拍夫妻视频一区二区| 精品深夜av无码一区二区| 亚洲国产另类久久久精品小说| 亚洲综合新区一区二区| 国产乱人无码伦av在线a| 亚洲av无码成人精品区在线观看| 亚洲av福利天堂在线观看| 久久女人精品天堂av影院麻 | 天堂а√在线最新版中文| 老肥熟女老女人野外免费区| 91视色国内揄拍国内精品人妻 | 狠狠躁天天躁无码中文字幕图| 又色又爽又黄又硬的视频免费观看| 日本岛国精品中文字幕| 99久久国产精品免费热| 国产精品99久久久久久猫咪|