tagparserPython的HTML文檔解析
很多人需要提取網(wǎng)頁的一些內(nèi)容, 可以利用正則表達(dá)式提取,也可以用beautifulsoap等工具. 正則表達(dá)式方法速度快,缺點(diǎn)是不好找到匹配的正則. 其他類似beautiful的工具因?yàn)橐娣治鰄tml,而html不像xml那么嚴(yán)格,語法比較復(fù)雜所以效率很糟糕.這個(gè)工具就是為了處里這種問題 的.
這個(gè)工程只有一個(gè)文件 .tagparser.py 它可以方便分析像xml html 等這種標(biāo)記語言. 只要他是'<'和'>'括起來的標(biāo)記語言.
分析的方式是'抽'式的.也就是說掃描一個(gè)個(gè)字符 當(dāng)遇到一個(gè)tag時(shí) 也就是遇到一個(gè)<>的時(shí)候,回調(diào)一個(gè)函數(shù)onGetTag() ,可以重載這個(gè)函數(shù)做自己的處理.
如遇到回調(diào) onGetTag(tagstr, tagstro). tagstr = p tagstro = P tagstr 是小寫的tag tagstro是源文件的大小寫狀態(tài)
遇到內(nèi)容 回調(diào) onGetTxt(txtstr) , txtstr是 如:<tag>xxxxxxxxx</tag> xxxxx即內(nèi)容
使用例子,提取網(wǎng)易新聞頁的主要內(nèi)容,新聞 標(biāo)題,內(nèi)容主體: 例如:
p = TagParser()
p.fetchUrl('http://news.163.com/09/0117/04/4VR79MP60001124J.html')
p.printResult()
輸出一個(gè)網(wǎng)頁的新聞.
評論
圖片
表情
