国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種可自由配置的網(wǎng)頁采集系統(tǒng)原理及其實(shí)現(xiàn)

2015-03-07 22:48:20李營那張瑜
電腦知識(shí)與技術(shù) 2015年35期
關(guān)鍵詞:網(wǎng)絡(luò)爬蟲

李營那 張瑜

摘要:隨著信息技術(shù)的發(fā)展,互聯(lián)網(wǎng)已成為信息發(fā)布和獲取的主要渠道,大數(shù)據(jù)環(huán)境下,信息就是資源、競爭力,如何從互聯(lián)網(wǎng)中發(fā)現(xiàn)并獲取有效的信息已成為各行業(yè)亟待解決的問題。該文提出了一種可自由配置的網(wǎng)頁采集系統(tǒng)的原理及其實(shí)現(xiàn),該系統(tǒng)可高效采集用戶所需信息,并對(duì)網(wǎng)頁內(nèi)容進(jìn)行清洗,提供多種可視化的內(nèi)容展示,解決了用戶獲取信息的難題。

關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;內(nèi)容抽?。蛔杂膳渲?/p>

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)35-0133-03

Abstract: With the development of information technology, the Internet has become the main channel of publishing and achieving information and data. In a BIG DATA environment, the information is the resources and competitiveness, how to find and obtain effective information from the Internet has become an urgent problem for the industry. This paper presents the principle and realization of a free configuration web page collection system. The system can effectively collect the information for the users and clean the contents of the web and provide a variety of visual display.

Key words: web spider;content extraction;free configuration

1 背景

信息技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)已成為人類發(fā)布和獲取信息最重要的途徑,互聯(lián)網(wǎng)中的信息呈現(xiàn)爆炸性的增長、快速更新的特性。大數(shù)據(jù)被普遍提出的時(shí)代,各學(xué)者和工程人員面臨的最大問題是數(shù)據(jù)從何處來?最大的數(shù)據(jù)源是互聯(lián)網(wǎng),如何從互聯(lián)網(wǎng)中發(fā)現(xiàn)并獲取用戶需求的信息已成為亟待解決的問題。搜索引擎應(yīng)運(yùn)而生,通用搜索引擎百度、Yahoo和Google等作為輔助用戶檢索信息的工具成為用戶訪問互聯(lián)網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性:返回內(nèi)容雜亂、不能及時(shí)應(yīng)對(duì)互聯(lián)網(wǎng)展現(xiàn)形式的變化、難以支持根據(jù)語義信息提出的查詢。

為解決上述問題,定向抓取相關(guān)網(wǎng)頁資源的聚焦爬蟲應(yīng)運(yùn)而生。聚焦爬蟲是一個(gè)自動(dòng)下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標(biāo),有選擇的訪問互聯(lián)網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,獲取所需要的信息[2]。本文提出一種可自由配置的網(wǎng)頁采集系統(tǒng)的原理及其實(shí)現(xiàn),該系統(tǒng)提供了靈活、自由的網(wǎng)頁采集配置方法,并對(duì)網(wǎng)頁內(nèi)容進(jìn)行有效清洗,為用戶提供了高質(zhì)量的信息。

2 相關(guān)技術(shù)

2.1 網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲是捜索引擎抓取系統(tǒng)的重要組成部分,目標(biāo)是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,基本工作流程如圖1所示:

1)選取URL作為待采集的種子,將這些種子URL放入待抓取URL隊(duì)列;

2)從待抓取URL隊(duì)列中取出待抓取URL,通過HTTP連接下載URL對(duì)應(yīng)的網(wǎng)頁,同時(shí)存儲(chǔ)在已下載網(wǎng)頁庫,并將這些URL放進(jìn)已抓取URL隊(duì)列;

3)從新下載的網(wǎng)頁中分析新的URL,并其放入待抓取URL隊(duì)列;

4)重復(fù)執(zhí)行第2、3步,直到待抓取URL隊(duì)列為空。

網(wǎng)絡(luò)爬蟲過程中待抓取隊(duì)列中URL的排列順序決定了抓取策略,最常見的抓取策略有以下幾種。

深度優(yōu)先遍歷策略,采用深度優(yōu)先算法思想,從起始頁開始,逐層處理一條線上的所有鏈接,處理完一條線路之后再轉(zhuǎn)入下一個(gè)起始頁,繼續(xù)跟蹤鏈接。

廣度優(yōu)先遍歷策略,采用廣度優(yōu)先算法思想,將最新下載的網(wǎng)頁中發(fā)現(xiàn)的新鏈接直接插入待抓取URL隊(duì)列尾部;即會(huì)先抓取起始網(wǎng)頁中鏈接的所有網(wǎng)頁,然后再選擇其中的一個(gè)鏈接網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中鏈接的所有網(wǎng)頁;

反向鏈接數(shù)策略,反向鏈接數(shù)指一個(gè)網(wǎng)頁被其他網(wǎng)頁鏈接指向的數(shù)量,表示了一個(gè)網(wǎng)頁的內(nèi)容受到其他人的推薦程度;搜索引擎的抓取系統(tǒng)通常會(huì)使用這個(gè)指標(biāo)來評(píng)價(jià)一個(gè)網(wǎng)頁的重要程度,進(jìn)而決定網(wǎng)頁的抓取順序;

Partial PageRank策略,借鑒了PageRank算法的思想,即將下載的網(wǎng)頁與待抓取隊(duì)列中的URL形成一個(gè)網(wǎng)頁集合,計(jì)算每個(gè)頁面的PageRank值,將待抓取隊(duì)列中的URL按照PageRank值排列,并按照該順序抓取頁面;

OPIC策略,該算法實(shí)際上也是對(duì)頁面進(jìn)行一個(gè)重要性打分;在算法開始前,給所有頁面一個(gè)相同的初始現(xiàn)金(cash),當(dāng)下載了某個(gè)頁面P之后,將P的現(xiàn)金分?jǐn)偨o所有從P中分析出的鏈接,并且將P的現(xiàn)金清空;對(duì)于待抓取URL隊(duì)列中的所有頁面按照現(xiàn)金數(shù)進(jìn)行排序;

大站優(yōu)先策略,對(duì)于待抓取隊(duì)列中的所有網(wǎng)頁,根據(jù)所屬的網(wǎng)站進(jìn)行分類,對(duì)于待下載頁面數(shù)多的網(wǎng)站,優(yōu)先下載。

2.2 內(nèi)容抽取

網(wǎng)頁通常包含部分無用的噪聲信息,如導(dǎo)航欄、廣告、外部鏈接等,在進(jìn)行網(wǎng)頁內(nèi)容抽取時(shí)要除去這些噪音,只保留有用的正文信息。

一種方法是從網(wǎng)頁的HTML DOM樹中自動(dòng)生成模板的技術(shù),這種方法通常假設(shè)所有的網(wǎng)頁都使用相同的模板生成,同時(shí)抽取的網(wǎng)頁必須是一個(gè)集合[1];因此,在使用范圍方面受到了限制。

另一種做法是基于統(tǒng)計(jì)的方法[5],這種方法基于網(wǎng)頁中正文部分的文本密度比其他部分明顯大的假設(shè),定義了一個(gè)名為“文本-標(biāo)簽比例(Text-to-Tag Ratio)”的指標(biāo):首先計(jì)算每一行的文本-標(biāo)簽比例,然后使用聚類算法區(qū)分正文內(nèi)容部分與其他部分。

3 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

3.1 系統(tǒng)總體功能模塊設(shè)計(jì)

對(duì)于大多數(shù)據(jù)的新聞網(wǎng)站抽取,采集過程通常可以分為列表頁面鏈接解析、內(nèi)容頁面鏈接解析和具體內(nèi)容解析三大步驟,相應(yīng)的配置過程也主要分為列表頁面鏈接解析配置、內(nèi)容頁面鏈接解析配置和具體內(nèi)容解析配置三大模塊。系統(tǒng)的功能流程如圖3所示,詳細(xì)說明如下:

1)列表頁面鏈接解析配置。給定一個(gè)網(wǎng)頁的主頁地址或列表頁面的入口地址,需要從此地址中解析出列表頁面的鏈接列表。通常,解析鏈接列表時(shí)需要得到列表的名稱及列表頁面的URL鏈接。首先,用戶配置好網(wǎng)站的主頁鏈接,并設(shè)置主頁所使用的編碼,系統(tǒng)自動(dòng)讀取頁面的源碼;接下來,用戶需要配置列表頁面鏈接的抽取規(guī)則,通常首頁確定鏈接的位置,然后設(shè)置具體的抽取解析規(guī)則;系統(tǒng)依據(jù)用戶的配置,即可實(shí)現(xiàn)列表頁面鏈接的抽取。

2)內(nèi)容頁面鏈接解析配置。內(nèi)容頁面鏈接解析的主要目標(biāo)為內(nèi)容頁面的標(biāo)題,部分網(wǎng)站的內(nèi)容鏈接列表頁面還包括發(fā)布時(shí)間等信息,則也需要一同抽取。從第(1)步獲得的列表頁面鏈接中,在用戶設(shè)置好列表頁面的編碼后,系統(tǒng)自動(dòng)讀取頁面的源碼;用戶接下來配置內(nèi)容頁面鏈接的位置及內(nèi)容解析相關(guān)信息,然后系統(tǒng)依據(jù)用戶的配置解析得到內(nèi)容頁面的鏈接URL及配置的其他需要解析的信息。

3)具體內(nèi)容的解析配置。對(duì)于新聞頁面而言,具體內(nèi)容的抽取目標(biāo)包括標(biāo)題、來源、發(fā)布時(shí)間、作者和具體的新聞內(nèi)容。用戶首先設(shè)置內(nèi)容頁面的源碼,系統(tǒng)依據(jù)URL和編碼讀取頁面的源碼返回后,用戶需要分別對(duì)解析的內(nèi)容進(jìn)行相關(guān)的配置,最后系統(tǒng)依據(jù)用戶的配置完成所需要內(nèi)容字段的抽取。

3.2 系統(tǒng)實(shí)現(xiàn)

從主頁面解析列表頁面的過程相對(duì)簡單,其所使用的技術(shù)都包含在后兩步中,因此,此處以后面兩個(gè)步驟為例說明系統(tǒng)的具體實(shí)現(xiàn)。系統(tǒng)最終的功能界面如圖4所示,具體實(shí)現(xiàn)的過程在以下小節(jié)中詳細(xì)進(jìn)行介紹。

3.2.1 編碼設(shè)置

編碼設(shè)置:中文網(wǎng)頁的編碼通常只有常見的UTF-8、GB2312、GBK幾種,由于GBK中包含了GB2312,因此,在系統(tǒng)中僅需要用戶選擇UTF-8和GBK兩者中的一種即可。

3.2.2 目標(biāo)塊的位置確定

目標(biāo)塊(列表頁面鏈接、內(nèi)容頁面鏈接、具體內(nèi)容)的位置設(shè)置通常有以下幾種方式:包含標(biāo)簽的XPath、包含標(biāo)簽的ID、包含標(biāo)簽的CSS Class、包含標(biāo)簽的源碼內(nèi)容和包含標(biāo)簽前后代碼。

1)包含標(biāo)簽的XPath:HTML網(wǎng)頁可以解析成DOM樹的形式,其中的內(nèi)容在整個(gè)DOM樹中是有一定的位置的,通常把這一個(gè)位置稱為XPath;XPath在網(wǎng)頁中是唯一的,因此通過它可以定位到標(biāo)簽;

2)包含標(biāo)簽的ID:在HTML頁面中,HTML標(biāo)簽可以設(shè)置唯一的ID,因此,通過標(biāo)簽的唯一ID也可以定位到相應(yīng)的標(biāo)簽;

3)包含標(biāo)簽的CSS Class:在使用CSS技術(shù)的網(wǎng)頁中,標(biāo)簽通常會(huì)設(shè)定Class名,這一名稱雖然不一定是唯一的,但如果設(shè)置的目標(biāo)標(biāo)簽在網(wǎng)頁中具備唯一的CSS Class,則也可以通過設(shè)置它來定位標(biāo)簽;

4)包含標(biāo)簽的源碼:每個(gè)HTML標(biāo)簽都可以帶有一些屬性,例如前面提到的ID和CSS Class,那么,把標(biāo)簽的全部源碼都利用起來,在大多數(shù)情形下也可以標(biāo)識(shí)一個(gè)標(biāo)簽,因此也可以用來進(jìn)行標(biāo)簽定位。

5)包含標(biāo)簽前后代碼:使用標(biāo)簽前后代碼片斷,即包含目標(biāo)標(biāo)簽的HTML代碼,只要保證在整個(gè)網(wǎng)頁中是唯一的,也可以用于定位標(biāo)簽。

在上述5種方案中,使用XPath通常比較專業(yè)和復(fù)雜,需要相應(yīng)的工具配合才能完成,但它的優(yōu)勢是XPath標(biāo)識(shí)的標(biāo)簽一定是唯一的,因此幾乎可以用于全部情形。其它方式相對(duì)比較簡,但有時(shí)卻不一定能達(dá)到目的,比如時(shí),目標(biāo)標(biāo)簽正好沒有ID時(shí),則使用標(biāo)簽ID的方式便無法達(dá)到目標(biāo)。

3.2.3 解析匹配規(guī)則

上一小節(jié)通過定位可以確定目標(biāo)的位置,解析匹配是指得到具體的,比如得到列表頁面的鏈接。用于解析匹配的方式通常有:固定模式、前后綴模式、包含模式和正則表達(dá)式模式。固定模式是指內(nèi)容是固定的文字,比如說來源字段,對(duì)于一個(gè)網(wǎng)站,我可以統(tǒng)一指定固定來源;前后綴模式是批解析的目標(biāo)可以通過前綴或者后綴來標(biāo)記,例如作者字段,通常使用“作者:***”的形式描述,此時(shí)通前綴“作者:”即可得到后述內(nèi)容為解析的目標(biāo);包含模式是指可以如上一小節(jié)一樣指定特定的HTML標(biāo)簽來確定解析的目標(biāo),不同之后在于此處可以指定非HTML標(biāo)簽形式的包含;正則表達(dá)式形式,顧名思義即指使用正則表達(dá)式來確定目標(biāo),例如日期可以使用正則表達(dá)式“\d{4}\-\d{2}\-\d{2}”來確定。

4 結(jié)束語

網(wǎng)頁采集與內(nèi)容抽取是獲取互聯(lián)網(wǎng)內(nèi)容的關(guān)鍵,本文提出的可自由配置的網(wǎng)頁采集系統(tǒng)以靈活、簡潔、易操作的方式為用戶提供了一種高效獲取互聯(lián)網(wǎng)中優(yōu)質(zhì)信息的方法,解決了用戶面對(duì)大量信息無法使用的窘境。本文詳細(xì)介紹了網(wǎng)絡(luò)爬蟲中爬蟲器的實(shí)現(xiàn)、網(wǎng)頁內(nèi)容的抽取關(guān)鍵技術(shù)及方法,為其他相關(guān)研究人員提供借鑒。

參考文獻(xiàn):

[1] Ji X W, Zeng J P, Shang S Y, et al. Tag Tree Template for Web Information and Schema Extraction[J]. J. Expert Systems with Applications, 2010(37): 8492-8498.

[2] 周立柱, 林玲. 聚焦爬蟲技術(shù)研究綜述[J]. 計(jì)算機(jī)應(yīng)用, 2005, 25(9):1965-1969.

[3] 劉金紅, 陸余良. 主題網(wǎng)絡(luò)爬蟲研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2007, 24(10): 26-29.

[4] 周德懋, 李舟軍. 高性能網(wǎng)絡(luò)爬蟲:研究綜述[J]. 計(jì)算機(jī)科學(xué), 2009, 36(8): 26-29.

[5] 游貴榮, 陸玉昌. 基于統(tǒng)計(jì)和機(jī)器學(xué)習(xí)的中文Web網(wǎng)頁正文內(nèi)容抽取[J]. 福建商業(yè)高等??茖W(xué)校學(xué)報(bào), 2009(2): 68-72.

猜你喜歡
網(wǎng)絡(luò)爬蟲
基于分布式的農(nóng)業(yè)信息檢索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
微信平臺(tái)下的教務(wù)信息獲取和隱私保護(hù)方法研究
基于網(wǎng)絡(luò)爬蟲的電子易購軟件設(shè)計(jì)與實(shí)現(xiàn)
搜索引擎技術(shù)的發(fā)展現(xiàn)狀與前景
煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁挖掘研究
主題搜索引擎中網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)研究
淺析如何應(yīng)對(duì)網(wǎng)絡(luò)爬蟲流量
中國市場(2016年23期)2016-07-05 04:35:08
基于淘寶某商品銷售量監(jiān)控系統(tǒng)
網(wǎng)絡(luò)爬蟲針對(duì)“反爬”網(wǎng)站的爬取策略研究
兴宁市| 博乐市| 溧阳市| 开封市| 平阴县| 汤原县| 嘉黎县| 区。| 青神县| 永嘉县| 正安县| 塘沽区| 临颍县| 神木县| 奉新县| 米林县| 石嘴山市| 广灵县| 徐州市| 辉县市| 万载县| 北安市| 大港区| 石柱| 新津县| 文成县| 屏东县| 班戈县| 沂源县| 基隆市| 南江县| 双鸭山市| 德清县| 盐池县| 济阳县| 汽车| 南汇区| 龙门县| 崇州市| 郁南县| 稻城县|