HtmlParser進行解析原理

2021-08-25 19:57:29 字數 574 閱讀 9989

htmlparser主要靠node、abstractnode和tag來表達html

1. node是形成樹結構表示html的基礎,所有的資料表示都是介面node的實現,node定義了與頁面樹結構所表達的頁面page物件,定義了獲取父、子、兄弟節點的方法,定義了節點到對應html文字的方法,定義了該節點對應的起止位置,定義了過濾方法,定義了visitor訪問機制。

2. abstractnode是node的一種具體的類實現,起到構成樹形結構的作用,除了同具體node相關的accetp方法,tostring,tohtml,toplaintextstring方法以外,abstractnode實現了大多基本的方法,使得它的子類,不用理會具體的樹操作。

3. tag是具體分析的主要內容。tag分成composite的tag和不能包含其他tag的簡單tag兩類,其中前者的基類是compositetag,其子類包bodytag,div,framesettag,optiontag,等27個子類;而簡單tag有basehreftag、doctypetag,frametag,imagetag,inputtag,jsptag,metatag,processinginstructiontag這八類。

使用HtmlParser解析HTML

如果要對html進行解析,提取html的資料或者修改html資料,htmlparser是乙個不錯的選擇.使用htmlparser可以解析本地和網路上的html資料 parser parser new parser new winista.text.htmlparser.http.httpprotoc...

使用HtmlParser解析HTML

如果要對html進行解析,提取html的資料或者修改html資料,htmlparser是乙個不錯的選擇.使用htmlparser可以解析本地和網路上的html資料 parser parser new parser new winista.text.htmlparser.lex.lexer new w...

使用HTMLParser解析html

前幾天遇到乙個問題,需要把網頁中的一部分內容挑出來,於是找到了urllib和htmlparser兩個庫.urllib可以將網頁爬下來,然後交由htmlparser解析,初次使用這個庫,在查官方文件時也遇到了一些問題,在這裡寫下來與大家分享.from htmlparser import htmlpar...