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

學習資源爬蟲系統設計與實現

2017-06-20 22:42:24胡鵬
軟件導刊 2017年4期

胡鵬

摘要:互聯網是信息的載體,隨著信息量的迅速增長,給用戶檢索獲取需要的互聯網學習資源增加了難度和時間。因此,學習資源爬蟲是亟待研究與解決的問題。實現學習資源爬蟲系統的關鍵為:首先界定互聯網學習資源的概念、類型、格式形態,然后設計學習資源爬蟲結構以及抓取、解析、去重、下載功能,最后根據系統開發環境實現爬蟲結果。借助webdriver、Firfox瀏覽器并結合反網絡爬蟲策略,解決動態網站腳本與服務器異步交互時的數據丟失問題,進行完整、自動、高效的批量內容下載,優化學習資源獲取的準確率與效率,以獲取更有價值的學習資源。

關鍵詞:網絡爬蟲;Web網頁;學習資源

中圖分類號:TP319

文獻標識碼:A

文章編號:16727800(2017)004011103

0引言

隨著信息技術的發展,互聯網信息量呈指數級爆炸性增長[1],信息淹沒在浩瀚如海的互聯網數據中。用戶要從海量、異構、半異構、動態數據中快速獲取有價值的學習資源是非常困難的。網絡中學習資源數據量龐大,百度、Google檢索也僅收錄了頁面的1/3,基于漢語自身的復雜性及特點,檢索獲取有價值的學習資源效率低、花費時間長[2]。為此,設計并實現了一個學習資源爬蟲系統,使學習資源檢索能快速、準確地達到預期目標。首先對學習資源的概念、類型、格式作一定闡述與界定。學習資源是指學習、教育被應用、參考,并以數字化信息加載的一切對象;學習資源類型是指試題、試卷、案例、問題解答、媒體素材、網絡課程、網絡課件;學習資源格式是指HTML、TXT、Word、PPT、PDF、Excel格式的文本或文檔。

1系統總體設計

聚焦網絡爬蟲(Web Crawler)也稱為主題網絡蜘蛛,是一個自動下載網頁的計算機程序。設置初始的URL(Uniform Resource Location)隊列序列化開始爬取,解析原URL指向的網頁并提取新的URL鏈接與頁面信息,提取過程中對網頁信息、文檔文本進行過濾,剔除重復、不符合要求的URL及文本文檔,下載有關主題信息儲入數據庫,并且不斷遍歷整個過程,直至程序報錯或達到系統的預定規則而停止[3]。本系統設計學習資源爬蟲結構如圖1所示,根據系統的爬蟲結構,其功能模塊主要包括:網頁抓取、網頁解析、內容去重、內容下載。系統的功能模塊其學習資源爬蟲流程如圖2所示。

2系統功能模塊

2.1網頁抓取

網頁抓取策略包括深度優先搜索策略、最佳優先搜索策略、廣度優先搜索策略。深度優先搜索策略在深度大、數據多時,抓取深度、命中率以及抓取效率會大幅下降,同時由于受系統堆棧容量限制,內存也會產生溢出;最佳優先策略是一種局部最優搜索算法,需結合具體應用進行改進;廣度優先搜索策略必須考慮溢出和節省內存空間的問題,運行速度要比深度優先搜索快很多。本文采用廣度優先爬蟲策略結合反網絡爬蟲策略,網頁抓取時應配置爬蟲網頁的腳本,配置網頁腳本為XML、Groovy文件,XML用于限定爬蟲的對象范圍,過濾與學習資源無關的信息;Groovy用于限定爬蟲對象內容的范圍,為網頁內容過濾掉“廣告條”以及網頁下方的網站說明等信息。系統啟動時將初始的URL種子集隊列放入Redis SitesQueue臨時數據庫,并不斷地從Redis隊列中抽取URL,解析其DNS,訪問網頁協議HTTP、主機名、路徑,建立網絡通信發送請求報文,連接Web服務器下載頁面并把頁面內容及鏈接信息保存到本地磁盤上[4],以節約主機內存的占用,提高網頁抓取效率。

2.2網頁解析

網頁解析是網頁處理的起點,程序發送請求信息,協議允許訪問頁面則進入頁面框架。通過解析類ParserFile.class對HTML網頁進行DOM解析,其中包括HTML標簽、元素內容、腳本內容、注釋等,用index處理HTML中的標簽、文本、注釋、指令,以及這些符號之間的語法關系,如標簽與標簽、標簽與文本的關系。主要解析標簽包括:正文標題(Title)、正文內容(Article)、鏈接(Link)、作者(Author)、發布時間(Publishtime)、來源(Source)。用inline處理錨文本對應URL鏈接節點下的“href”屬性,獲取錨文本與URL之間的對應關系。在DOM解析與URL語法解析的基礎上,即可進行網頁內容的識別操作[5],提取內容進行去重處理,提取鏈接URL進行判斷處理。解析主要代碼如下://判斷fileDir文件的第index個dom中,有無嵌套標簽 Element dom_el=root.getChild("list").getChildren("dom").get(domNo);String inline = dom_el.getChildText("inline");if(inline != null && !"".equals(inline)) return true;else return false;//inline 標簽有幾個attr屬性Element dom_el=root.getChild("list").getChildren("dom").get(domNo);Element inline_el = dom_el.getChild("inline");int depth = inline_el.getChildren().size()+1;

2.3內容去重

目前Internet的重復網頁約占35%~45%,大部分是內答轉載。爬取這些網頁或者重復內容既占用網絡帶寬又浪費資源,用戶不希望收集一堆內容相同或近似的檢索結果。因此,程序啟動之前已配置網頁腳本為XML、Groovy文件,在URL中限定了爬蟲對象、內容的范圍,剔除了與學習資源無關的信息內容。程序運行時,處理爬蟲過程中存在的重復網址,剔除重復學習資源內容或文本文檔。互聯網學習資源范圍和數量龐大,選擇好的去重策略,能節約大量爬蟲時間,提高爬蟲效率[67]。程序對Redis緩存內容去重效率相當高,對內存要求也相對較高。同時Redis要關閉VM功能,需要設置好redis.conf配置文件,因為內存使用過高將導致內存溢出。內容去重主要包括正文標題(Title)、正文內容(Article)的去重,是一種高效去重的方法。

2.4內容下載

網頁分為靜態和動態。靜態網頁由HTML代碼生成,頁面的內容、結果基本不會有變化;動態網頁是相對靜態的一種網頁編程技術,具有如下幾個特點:交互性、更新性、效果動態性。由于動態網站腳本與服務器異步交互易產生數據丟失,需借助Firfox瀏覽器、Webdriver測試工具解決該問題,以進行完整、高效、自動的批量網頁內容下載。系統運行主程序MainQuartz和子程序ListStart、DetailStart時,ListStart子程序根據節點下載網址的主列表,DetailStart子程序下載列表項內容。List表下載鏈接URL、時間、標題、來源,Article表下載正文內容、發布時間、來源、作者、描述、關鍵字。下載模塊始終在監聽等待爬蟲List表和Article表,如果為空,則處于等待狀態;如果不為空,則下載列表內容,查看HeidiSQL數據庫管理界面,存儲記錄每一條爬取成功的信息。

3系統開發環境

硬件配置:CPU為Intel Core i5,內存為8G,硬盤500G。 軟件配置:操作系統為Windows7 64bit,軟件集成開發工具為Eclipse,開發語言為Java,數據庫為MySQL、Redis。 本系統需要對Redis緩存內容去重,對內存要求會偏高,因此采用CPU Intel Core i5,內存8G。開發工具是以Eclipse為集成框架,開發語言采用Java,因已生成的類包庫可以直接調用,簡單方便。Redis作為緩存數據庫,可大幅提高爬蟲效率,也相對減輕了對內存的需求,很大程度上避免了內存溢出,MySQL為存儲數據庫。

4系統爬蟲結果與結論

根據爬蟲結構、功能設計與系統開發環境的配置,爬蟲數據來源于中國教育信息網、百度文庫資源、小學資源網、小教資源網,以及部分研究機構與高校的共享資源等。爬取學習資源Article表數據如圖3所示。由List表和Article表的數據可知,List爬蟲存入數據庫的平均速度為1.3頁/秒,Article表爬蟲存入數據庫的平均速度為6.5頁/秒,學習資源爬蟲的平均速度為4.0頁/秒,準確率在95%左右。系統可大幅提高抓取學習資源的準確率與效率,同時提升了獲取的學習資源的價值性。

爬取的學習資源為HTML、TXT、Word、PPT、PDF、Excel的文本或文檔。其中影響爬蟲的因素有網速、網址服務器以及學習資源的文本或文檔大小等。本文設計的學習資源爬蟲系統采用廣度優先爬蟲和反網絡爬蟲策略,通過解析類ParserFile.class對HTML網頁進行DOM解析,通過程序對Redis緩存內容去重,并借助webdriver、Firfox瀏覽器,進行完整、高效、自動的批量網頁內容下載,改善了網絡爬蟲易被屏蔽的缺點,降低了爬蟲難度與任務量,同時解決了動態網站腳本與服務器異步交互的數據丟失問題,優化了學習資源獲取的準確率、效率,從而獲取更多、更有價值的學習資源。

參考文獻:[1]孫立偉,何國輝,吳禮發.網絡爬蟲技術的研究[J].電腦知識與技術,2010(15):41124115.

[2]楊彥軍,郭紹青.ELearning學習資源的交互設計研究[J].現代遠程教育研究,2012(1):6267.

[3]J CHO.Crawling the Web:discovery and maintenance of largescale Web data[J].International Journal of Advances in Engineering Sciences, 2001,3(3):6266.

[4]翁巖青. 網頁抓取策略研究[D].哈爾濱:哈爾濱工程大學,2010.

[5]王璟琦. 基于內容單元的網頁解析與內容提取[D].哈爾濱:哈爾濱工業大學,2008.

[6]黃聰會,張水平,胡洋.主題Deep Web爬蟲框架研究[J].計算機工程與設計,2010(5):929931,935.

[7]孫濤,曹丙章,邱荷花.基于MapReduce的視屏爬蟲系統研究[J].華中科技大學學報:自然科學版,2015(5):129132.

(責任編輯:黃健)

主站蜘蛛池模板: 亚洲v日韩v欧美在线观看| 狠狠色丁香婷婷综合| 亚洲精品在线影院| 国产综合在线观看视频| 国产精品手机视频| 美女无遮挡被啪啪到高潮免费| 2021天堂在线亚洲精品专区| 5555国产在线观看| 2021国产乱人伦在线播放| 国产精品美女自慰喷水| 国产成人综合在线观看| 狠狠色成人综合首页| 色天天综合| 国产成人调教在线视频| 激情无码字幕综合| 一本大道香蕉中文日本不卡高清二区| 高清色本在线www| 日本免费福利视频| 亚洲女同一区二区| 国产九九精品视频| 在线观看精品自拍视频| 成人91在线| 波多野结衣亚洲一区| 国产精品熟女亚洲AV麻豆| 久久99国产精品成人欧美| 亚洲男人天堂久久| 久久77777| 天堂在线www网亚洲| 国产色婷婷视频在线观看| 国产精品入口麻豆| 国产二级毛片| 粉嫩国产白浆在线观看| 亚洲日本中文字幕天堂网| 97国产精品视频人人做人人爱| 99久久精品久久久久久婷婷| 色噜噜久久| 亚洲视频三级| 国产97公开成人免费视频| 国产乱子伦视频在线播放| 国产大片喷水在线在线视频| 久久青青草原亚洲av无码| 国产精品成人AⅤ在线一二三四| 国产无码网站在线观看| 91美女视频在线| 极品私人尤物在线精品首页| 久久久久中文字幕精品视频| 福利视频一区| 国产精品jizz在线观看软件| 亚洲天堂.com| 国产99视频精品免费视频7| 色噜噜综合网| 热99re99首页精品亚洲五月天| 亚洲天堂.com| 免费网站成人亚洲| 免费国产黄线在线观看| 欧美成a人片在线观看| 97色伦色在线综合视频| 国精品91人妻无码一区二区三区| 亚洲国产精品不卡在线 | 亚洲成年网站在线观看| 欧美在线一二区| 天天躁狠狠躁| 一区二区三区四区在线| 日韩一级二级三级| 欧美亚洲一区二区三区导航| 国产亚洲高清视频| 中文字幕波多野不卡一区| 精品无码日韩国产不卡av| 国产大片喷水在线在线视频| 欧美日韩福利| 欧美一区二区福利视频| 毛片网站在线看| 国产成人一区| 色综合久久88| 久久频这里精品99香蕉久网址| 99热国产这里只有精品无卡顿"| 久青草网站| 麻豆AV网站免费进入| 亚洲成人黄色在线观看| 国产在线精品99一区不卡| 呦女精品网站| 久久99国产综合精品1|