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

        ?

        基于JerichoHTMLParser的html信息抽取

        2010-10-10 02:25:30王鴻偉
        關(guān)鍵詞:內(nèi)存頁面文檔

        王鴻偉

        (泉州師范學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 泉州 3 6 2 0 0 0)

        基于JerichoHTMLParser的html信息抽取

        王鴻偉

        (泉州師范學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 泉州 3 6 2 0 0 0)

        對(duì)web頁面上的信息抽取,一般采基于DOM或SAX的解析方式對(duì)信息進(jìn)行解析.面對(duì)非結(jié)構(gòu)化的html,無論使用DOM或SAX,都有其不足之處.本文對(duì)比DOM、SAX的解析方式,介紹一種開源的JerichoHTMLParser解析方式,其在對(duì)html頁面信息進(jìn)行直接解析時(shí),可以獲得一個(gè)比較好的解析效果.最后,用實(shí)驗(yàn)證明基于JerichoHTMLParser解析方式,對(duì)html頁面信息解析的可靠性和有效性.

        DOM;SAX;JerichoHTMLParser;信息抽取

        1 引言

        伴隨I n t e r n e t的發(fā)展,web已經(jīng)成為一個(gè)海量的信息庫.但web頁面上充斥著大量的無用信息,如廣告信息、廣告連接、圖片等,使得web上用戶關(guān)心的有用信息被大量的無用信息所掩蓋.整個(gè)I n t e r n e t正面臨著信息爆炸而有用知識(shí)相對(duì)缺乏的尷尬的境地.web信息抽取技術(shù)的出現(xiàn)和發(fā)展,則為從特定web頁面上抽取用戶關(guān)心的數(shù)據(jù),提供了一個(gè)有效的途徑.

        目前,web頁面上大量的信息都以Html或XML這兩種語言發(fā)來發(fā)布,存在Html和XML并存的局面.對(duì)web頁面信息的抽取,就轉(zhuǎn)換成對(duì)Html和XML文檔的解析.

        最常用的兩種解析方式有基于DOM和S A X的解析.而本文將介紹一種基于J e r i c h o Html P a r s e r的解析方式,并利用J e r i c h o Html P a r s e r實(shí)現(xiàn)對(duì)指定web頁面上的有用信息進(jìn)行抽取.

        2DOM與SAX解析方式

        2.1 DOM解析方式

        DOM是文檔對(duì)象模型(Document O b j e c t M o d e l)的縮寫,根據(jù)W3 CDOM規(guī)范,DOM是一種與瀏覽器、平臺(tái)、語言無關(guān)的接口.實(shí)際上DOM就是以樹為基礎(chǔ)處理XML及H T M L文件的一套A P I.

        在H T M LDOM下,H T M L文檔中的所有節(jié)點(diǎn)組成了一個(gè)文檔樹(或節(jié)點(diǎn)樹).H T M L文檔中的每個(gè)元素、屬性、文本等都代表著樹中的一個(gè)N o d e(節(jié)點(diǎn)).樹起始于文檔節(jié)點(diǎn),并由此繼續(xù)伸出枝條,直到處于這棵樹最低級(jí)別的所有文本節(jié)點(diǎn)(葉子節(jié)點(diǎn))為止.利用DOM中的N o d e對(duì)象,開發(fā)人員可以對(duì)文檔進(jìn)行讀取、搜索、修改、添加和刪除等操作.因此,該解析方式也被稱為文檔驅(qū)動(dòng)型的方式.

        DOM方式進(jìn)行解析的優(yōu)缺點(diǎn):

        優(yōu)點(diǎn) 整個(gè)文檔被放入內(nèi)存并解析成為一個(gè)樹結(jié)構(gòu)后,遍歷簡(jiǎn)單訪問.開發(fā)人員可以方便的對(duì)文檔進(jìn)行讀取、搜索、修改、添加和刪除等操作.因此,DOM的解析方式提供了一種操作上的便利性.

        缺點(diǎn) 效率低,解析速度慢,內(nèi)存占用量過高.被解析的文檔被讀入內(nèi)存后,要在內(nèi)存中創(chuàng)建DOM樹,以生成DOM樹上的每個(gè)N o d e對(duì)象.這時(shí)其占用的內(nèi)存的大小,要比其源文檔的容量來的大得多.當(dāng)文檔比較小的時(shí)候,這不會(huì)造成什么問題.一旦文檔大起來,處理DOM就會(huì)變得相當(dāng)費(fèi)時(shí)費(fèi)力.特別是其對(duì)于內(nèi)存的需求,也將是成倍的增長(zhǎng).效率低還表現(xiàn)在需要消耗大量的時(shí)間,這時(shí)因?yàn)槭褂肈OM進(jìn)行解析時(shí),將為文檔的每個(gè)element、attribute和comment都要?jiǎng)?chuàng)建一個(gè)對(duì)象.在DOM機(jī)制中所運(yùn)用的大量對(duì)象的創(chuàng)建和銷毀,無疑都會(huì)影響其效率.[1,2]

        2.2 S A X解析方式

        使用該方式對(duì)html文檔進(jìn)行解析,一般都需要先將html文檔轉(zhuǎn)化為XML文檔.因此,從html轉(zhuǎn)換為XML時(shí),轉(zhuǎn)換的效果將在很大程度上影響最終的解析效果.

        S A X是XML簡(jiǎn)易應(yīng)用程序編程接口(S i m p l eA P If o r XML)的縮寫,它并不是由W3 C官方所提出的標(biāo)準(zhǔn).其起源于互聯(lián)網(wǎng)上的XML-D E V社區(qū),是很多開發(fā)人員參與討論和開發(fā)的結(jié)果.根據(jù)討論的結(jié)果,D a v i dM e g g i n s o n于1 9 9 8年5月1 1日公布了規(guī)范的終稿.[3]

        S A X最初是由D a v i dM e g g i n s o n采用J a v a語言開發(fā),之后S A X很快在J a v a開發(fā)者中流行起來.它是一種這是一種公開的、開放源代碼軟件.雖然它不是W3 C標(biāo)準(zhǔn),但它卻是一個(gè)得到了廣泛認(rèn)可的A P I.

        S A X的工作原理簡(jiǎn)單地說就是對(duì)文檔進(jìn)行順序掃描,當(dāng)掃描到文檔(d o c u ment)開始與結(jié)束、元素(e l e ment)開始與結(jié)束等地方時(shí)激活一系列事件,這些事件被推給事件處理器,然后由事件處理器提供對(duì)文檔內(nèi)容的訪問.然后繼續(xù)同樣的掃描,直至文檔結(jié)束.該處理方式稱為事件驅(qū)動(dòng)型的處理方式.[4,5]

        S A X方式進(jìn)行解析的優(yōu)缺點(diǎn):

        優(yōu)點(diǎn) 由于以S A X方式來處理文檔時(shí),不需要將整個(gè)文件讀入內(nèi)存.而是一種讀多少處理多少、邊讀邊處理的方式.因此,其對(duì)內(nèi)存的要求較小,適合于對(duì)大型的文檔進(jìn)行處理.

        缺點(diǎn) S A X采用的是單遍解析,因此不能支持隨機(jī)訪問.其次,用戶必須實(shí)現(xiàn)多個(gè)事件處理程序以便能夠處理所有到來的事件.[6]使用S A X解析器的時(shí)編碼工作會(huì)比較困難,而且很難同時(shí)訪問同一個(gè)文檔中的多處不同數(shù)據(jù).[7]當(dāng)文檔越復(fù)雜時(shí),應(yīng)用邏輯也就相應(yīng)地越復(fù)雜.

        3 JerichoHTMLParser解析方式

        H T M L是一種顯示描述語言,它僅僅描述了web瀏覽器應(yīng)該如何在頁面上布置文字、圖形等,并沒有對(duì)I n t e m e t上最重要的東西――信息本身的含義進(jìn)行描述.通過H T M L表現(xiàn)出來的文字和圖形內(nèi)容很容易被人理解,而要計(jì)算機(jī)去理解這些標(biāo)記內(nèi)的文字的含義就很困難.[8]

        本文使用的J e r i c h o H T M L P a r s e r是一個(gè)功能強(qiáng)大、操作簡(jiǎn)單的H T M L解析器.[9]其對(duì)H T M L文檔的適應(yīng)性較好,對(duì)于結(jié)構(gòu)不好的H T M L文檔也能很好的處理.其主要是通過對(duì)標(biāo)簽的識(shí)別和文字搜索,來對(duì)H T M L中的信息進(jìn)行分析和處理.該解析器,結(jié)合了DOM和S A X的優(yōu)點(diǎn).

        J e r i c h o H T M L P a r s e r不同于DOM的地方在于,其將H T M L源文件讀入內(nèi)存后,允許只對(duì)用戶感興趣的片段進(jìn)行解析和修改.并且,不需要在內(nèi)存中對(duì)整個(gè)源文件建立一個(gè)樹結(jié)構(gòu).因此,其需要的內(nèi)存和資源比較小,并且對(duì)于一些結(jié)構(gòu)比較不規(guī)范H T M L源文件,J e r i c h o H T M L P a r s e r也可以輕松的處理.

        其不同于S A X的地方在于,首先,J e r i c h o H T M L P a r s e r提供了更高層次的接口供用戶直接調(diào)用,因此,用戶無需在應(yīng)用程序中逐個(gè)實(shí)現(xiàn)每個(gè)出現(xiàn)的事件所對(duì)應(yīng)的處理器.其次,其不但可以從載入的H T M L源文件中讀取信息,還能對(duì)信息進(jìn)行修改.如果有需要的話,還能對(duì)指定的信息段建立一個(gè)樹形結(jié)構(gòu),然后再對(duì)其進(jìn)行各種操作.

        本文中用到的J e r i c h o H T M L P a r s e中的對(duì)象有S o u r c e、Tag、StartTag、Element、Text Extractor、H T M L Element N a m e.以下就對(duì)這些對(duì)象的功能和方法做一個(gè)簡(jiǎn)介.

        S o u r c e

        J e r i c h o H T M L P a r s e r解析的第一步就是將一個(gè)H T M L文檔解析為一個(gè)S o u r c e對(duì)象.之后在從這個(gè)對(duì)象中搜索我們指定的標(biāo)簽和內(nèi)容.其常用的方法如表1所示:

        表1 S o u r c e對(duì)象的主要方法

        Tag

        Tag對(duì)象繼承了S e g ment對(duì)象,指得是所有被“<”和“>”或“”所包含的標(biāo)簽(t a g),其常用的方法如表2所示:

        表2 Tag對(duì)象的主要方法

        StartTag

        StartTag對(duì)象繼承了Tag對(duì)象,用于生成一對(duì)標(biāo)簽中的起始標(biāo)簽,其常用的方法如表3所示:

        表3 StartTag對(duì)象的主要方法

        Element

        Element指的是在一對(duì)指定標(biāo)簽里邊的元素,是S e gment對(duì)象的子類,繼承了S e g m e n全部的f i n d A l l Element s()方法.其常用的方法如表4所示:

        表4 Element對(duì)象的主要方法

        Text Extractor

        Text Extractor對(duì)象用于從H T M L標(biāo)識(shí)中抽取出文本,其常用的方法如表5所示:

        表5 Text Extractor對(duì)象的主要方法

        H T M L Element N a m e

        H T M L Element N a m e是在H T M L4.0 1規(guī)范定義下的元素名有關(guān)的一個(gè)接口對(duì)象.

        4 實(shí)驗(yàn)與分析

        基于J e r i c h o H T M L P a r s e r設(shè)計(jì)了一個(gè)數(shù)據(jù)抽取系統(tǒng)原型,用于對(duì)淘寶網(wǎng)和百度有啊2個(gè)不同平臺(tái)上的C 2 C店鋪的銷售數(shù)據(jù)進(jìn)行抽取實(shí)驗(yàn).之后,按照召回率和準(zhǔn)確率以及抽取速度,來評(píng)價(jià)本文設(shè)計(jì)的數(shù)據(jù)抽取系統(tǒng)對(duì)此2個(gè)數(shù)據(jù)源進(jìn)行數(shù)據(jù)抽取的效果.

        對(duì)下列多個(gè)不同的淘寶網(wǎng)店鋪的銷售記錄進(jìn)行抽取,并將抽取后的最終結(jié)果列于表6中.

        對(duì)百度有啊上的店鋪,采用同樣的方法,對(duì)下列多個(gè)不同的店鋪的銷售記錄進(jìn)行抽取,并將抽取后的最終結(jié)果列于表7中.

        使用有線通寬帶2 M帶寬的網(wǎng)絡(luò)環(huán)境,選擇不同的時(shí)間段和不同的線程數(shù)量,分別對(duì)淘寶和有啊上的銷售記錄進(jìn)行抽取,抽取結(jié)果如表8所示.

        表6 對(duì)淘寶網(wǎng)多個(gè)不同u s e r I d的數(shù)據(jù)抽取結(jié)果

        表7 對(duì)百度有啊上多個(gè)不同u s e r I d的數(shù)據(jù)抽取結(jié)果

        表8 有線通數(shù)據(jù)抽取實(shí)驗(yàn)數(shù)據(jù)表

        5 結(jié)語

        面對(duì)非結(jié)構(gòu)化的html頁面,本文設(shè)計(jì)的基于J e r ic h o H T M L P a r s e r的web數(shù)據(jù)抽取系統(tǒng)原型,可以有效的對(duì)目標(biāo)頁面上的數(shù)據(jù)進(jìn)行抽取.系統(tǒng)原型具有比較高的召回率和準(zhǔn)確率,且系統(tǒng)的數(shù)據(jù)抽取速度較為穩(wěn)定,在網(wǎng)絡(luò)帶寬和線程數(shù)量都較高的情況下,具有較高的抽取速度.基于J e r ic h o H T M L P a r s e r解析方式,可以應(yīng)用在對(duì)web上指定html頁面信息的抽取上,為進(jìn)一步對(duì)web上的信息進(jìn)行數(shù)據(jù)挖掘提供數(shù)據(jù)源.

        〔1〕DOM[Z].百 度 百 科 .http://baike.baidu.com/view/14806.htm.

        〔2〕W3C DOM文檔 [Z].W3C DOM 官網(wǎng).http://www.w3.org/DOM/Activity.

        〔3〕Didier Martin等.XML高級(jí)編程,[M].機(jī)械工業(yè)出版社,2001.

        〔4〕SAX[Z]. 百度百科.http://baike.baidu.com/view/696824.htm.

        〔5〕SAX 文檔[Z].SAX 官網(wǎng).http://www.saxproject.org/copying.html.

        〔6〕趙俊嵐.XML編程中的DOM與SAX技術(shù)[J].計(jì)算機(jī)工程,2004,30(2):70-72.

        〔7〕張亞鵬.XML的四種解析器性能比較[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2007,23(2):20-21.

        〔8〕雷慶,吳揚(yáng)揚(yáng).基于SAX和DOM的XML嵌套信息提取[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(12):2308-2311.

        〔9〕JerichoHTMLParser[Z].JerichoHTMLParser. 官網(wǎng) http://jerichohtml.sourceforge.net/docs/index.html.

        T P 3 1 1

        A

        1673-260X(2010)10-0166-03

        猜你喜歡
        內(nèi)存頁面文檔
        大狗熊在睡覺
        刷新生活的頁面
        有人一聲不吭向你扔了個(gè)文檔
        “春夏秋冬”的內(nèi)存
        基于RI碼計(jì)算的Word復(fù)制文檔鑒別
        Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
        基于內(nèi)存的地理信息訪問技術(shù)
        不讓他人隨意下載Google文檔
        電腦迷(2012年4期)2012-04-29 06:12:13
        同一Word文檔 縱橫頁面并存
        淺析ASP.NET頁面導(dǎo)航技術(shù)
        亚洲综合一区二区三区四区五区 | 好吊妞无缓冲视频观看 | 香蕉视频www.5.在线观看| 阿v视频在线| 麻豆成人久久精品二区三区免费| 蜜臀av在线观看| 国产成人精品日本亚洲11| 最新国产女主播福利在线观看| av免费在线播放一区二区| аⅴ天堂中文在线网| 又色又爽又黄又硬的视频免费观看| 日本a在线播放| 人妻被公上司喝醉在线中文字幕| 亚洲日韩精品a∨片无码加勒比| 无码国产一区二区三区四区| 国产在线视频h| 久久久亚洲av成人乱码| 亚洲国产大胸一区二区三区 | 人妻插b视频一区二区三区| 国产精品丝袜黑色高跟鞋| 日本亚洲一级中文字幕| 日本不卡的一区二区三区中文字幕| 亚洲va久久久噜噜噜久久男同| 国产在视频线精品视频www666| 亚洲国产成人精品久久成人| 国产亚洲精品久久午夜玫瑰园| 日本高清视频wwww色| 国产亚洲精久久久久久无码| 精品国产福利一区二区三区| 美女扒开腿露内裤免费看| 国产亚洲欧美精品久久久| 久久精品伊人无码二区| 亚洲少妇一区二区三区老| 18国产精品白浆在线观看免费| 国产精品卡一卡二卡三| 亚洲国产不卡av一区二区三区| 91视色国内揄拍国内精品人妻| 国产麻豆成人精品av| 国产三级黄色在线观看| 国产精品自拍盗摄自拍 | 亚洲av无码不卡|