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

基于JerichoHTMLParser的html信息抽取

2010-10-10 02:25:30王鴻偉
赤峰學院學報·自然科學版 2010年10期
關鍵詞:頁面信息方法

王鴻偉

(泉州師范學院 數學與計算機科學學院,福建 泉州 3 6 2 0 0 0)

基于JerichoHTMLParser的html信息抽取

王鴻偉

(泉州師范學院 數學與計算機科學學院,福建 泉州 3 6 2 0 0 0)

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

DOM;SAX;JerichoHTMLParser;信息抽取

1 引言

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

目前,web頁面上大量的信息都以Html或XML這兩種語言發來發布,存在Html和XML并存的局面.對web頁面信息的抽取,就轉換成對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實現對指定web頁面上的有用信息進行抽取.

2DOM與SAX解析方式

2.1 DOM解析方式

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

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

DOM方式進行解析的優缺點:

優點 整個文檔被放入內存并解析成為一個樹結構后,遍歷簡單訪問.開發人員可以方便的對文檔進行讀取、搜索、修改、添加和刪除等操作.因此,DOM的解析方式提供了一種操作上的便利性.

缺點 效率低,解析速度慢,內存占用量過高.被解析的文檔被讀入內存后,要在內存中創建DOM樹,以生成DOM樹上的每個N o d e對象.這時其占用的內存的大小,要比其源文檔的容量來的大得多.當文檔比較小的時候,這不會造成什么問題.一旦文檔大起來,處理DOM就會變得相當費時費力.特別是其對于內存的需求,也將是成倍的增長.效率低還表現在需要消耗大量的時間,這時因為使用DOM進行解析時,將為文檔的每個element、attribute和comment都要創建一個對象.在DOM機制中所運用的大量對象的創建和銷毀,無疑都會影響其效率.[1,2]

2.2 S A X解析方式

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

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

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

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

S A X方式進行解析的優缺點:

優點 由于以S A X方式來處理文檔時,不需要將整個文件讀入內存.而是一種讀多少處理多少、邊讀邊處理的方式.因此,其對內存的要求較小,適合于對大型的文檔進行處理.

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

3 JerichoHTMLParser解析方式

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

本文使用的J e r i c h o H T M L P a r s e r是一個功能強大、操作簡單的H T M L解析器.[9]其對H T M L文檔的適應性較好,對于結構不好的H T M L文檔也能很好的處理.其主要是通過對標簽的識別和文字搜索,來對H T M L中的信息進行分析和處理.該解析器,結合了DOM和S A X的優點.

J e r i c h o H T M L P a r s e r不同于DOM的地方在于,其將H T M L源文件讀入內存后,允許只對用戶感興趣的片段進行解析和修改.并且,不需要在內存中對整個源文件建立一個樹結構.因此,其需要的內存和資源比較小,并且對于一些結構比較不規范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提供了更高層次的接口供用戶直接調用,因此,用戶無需在應用程序中逐個實現每個出現的事件所對應的處理器.其次,其不但可以從載入的H T M L源文件中讀取信息,還能對信息進行修改.如果有需要的話,還能對指定的信息段建立一個樹形結構,然后再對其進行各種操作.

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

S o u r c e

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

表1 S o u r c e對象的主要方法

Tag

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

表2 Tag對象的主要方法

StartTag

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

表3 StartTag對象的主要方法

Element

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

表4 Element對象的主要方法

Text Extractor

Text Extractor對象用于從H T M L標識中抽取出文本,其常用的方法如表5所示:

表5 Text Extractor對象的主要方法

H T M L Element N a m e

H T M L Element N a m e是在H T M L4.0 1規范定義下的元素名有關的一個接口對象.

4 實驗與分析

基于J e r i c h o H T M L P a r s e r設計了一個數據抽取系統原型,用于對淘寶網和百度有啊2個不同平臺上的C 2 C店鋪的銷售數據進行抽取實驗.之后,按照召回率和準確率以及抽取速度,來評價本文設計的數據抽取系統對此2個數據源進行數據抽取的效果.

對下列多個不同的淘寶網店鋪的銷售記錄進行抽取,并將抽取后的最終結果列于表6中.

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

使用有線通寬帶2 M帶寬的網絡環境,選擇不同的時間段和不同的線程數量,分別對淘寶和有啊上的銷售記錄進行抽取,抽取結果如表8所示.

表6 對淘寶網多個不同u s e r I d的數據抽取結果

表7 對百度有啊上多個不同u s e r I d的數據抽取結果

表8 有線通數據抽取實驗數據表

5 結語

面對非結構化的html頁面,本文設計的基于J e r ic h o H T M L P a r s e r的web數據抽取系統原型,可以有效的對目標頁面上的數據進行抽取.系統原型具有比較高的召回率和準確率,且系統的數據抽取速度較為穩定,在網絡帶寬和線程數量都較高的情況下,具有較高的抽取速度.基于J e r ic h o H T M L P a r s e r解析方式,可以應用在對web上指定html頁面信息的抽取上,為進一步對web上的信息進行數據挖掘提供數據源.

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

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

〔3〕Didier Martin等.XML高級編程,[M].機械工業出版社,2001.

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

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

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

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

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

〔9〕JerichoHTMLParser[Z].JerichoHTMLParser. 官網 http://jerichohtml.sourceforge.net/docs/index.html.

T P 3 1 1

A

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

猜你喜歡
頁面信息方法
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 午夜一区二区三区| 综1合AV在线播放| 在线精品亚洲国产| 欧美午夜久久| 真人免费一级毛片一区二区| 国内视频精品| 国产国产人在线成免费视频狼人色| 国产精品部在线观看| 成人福利免费在线观看| 国产无人区一区二区三区 | 成人国产精品一级毛片天堂 | 国产欧美视频综合二区| 2021最新国产精品网站| 2021天堂在线亚洲精品专区| 在线观看91精品国产剧情免费| 久久精品中文字幕免费| 国产乱人伦AV在线A| 国内自拍久第一页| 久夜色精品国产噜噜| 九九这里只有精品视频| 精品無碼一區在線觀看 | 亚洲av中文无码乱人伦在线r| 国产成人啪视频一区二区三区| 亚洲男人在线| 制服丝袜 91视频| 国产无遮挡猛进猛出免费软件| 人妻出轨无码中文一区二区| 19国产精品麻豆免费观看| 97久久超碰极品视觉盛宴| 亚洲一区二区三区在线视频| 亚州AV秘 一区二区三区 | 久久婷婷综合色一区二区| 亚洲人成电影在线播放| 国产传媒一区二区三区四区五区| 国产精品久久久久无码网站| 国产精品久久精品| 国产成人精品免费视频大全五级| 国产成人无码AV在线播放动漫 | 亚洲国产理论片在线播放| 成人午夜视频免费看欧美| 成人免费视频一区二区三区| 最新无码专区超级碰碰碰| 亚洲视频欧美不卡| 99精品伊人久久久大香线蕉| 色婷婷在线影院| 色悠久久久久久久综合网伊人| 91免费国产高清观看| 国产xxxxx免费视频| 精品一区二区三区波多野结衣| 日日拍夜夜操| 亚洲欧美日韩综合二区三区| 国产日韩丝袜一二三区| 亚洲制服中文字幕一区二区| 国产九九精品视频| 亚洲欧美天堂网| 欧美第二区| 夜精品a一区二区三区| 国产美女免费网站| 亚洲精选无码久久久| 日韩大乳视频中文字幕 | 欧美成人精品一级在线观看| 欧美日本在线| 男女猛烈无遮挡午夜视频| 天天操精品| 日韩免费成人| 国产在线啪| 欧美黄网在线| 制服丝袜在线视频香蕉| 久久福利网| 97青青青国产在线播放| 99re经典视频在线| 亚洲第一区在线| 亚洲综合精品第一页| 亚洲视频免费播放| 波多野结衣视频一区二区| 国产精品第一区在线观看| 日日拍夜夜操| 4虎影视国产在线观看精品| 国产91九色在线播放| 久久精品人人做人人爽97| 亚洲欧美在线综合一区二区三区| 久久精品人人做人人爽97|