2011-05-28 61 views

回答

4

html5lib允許您使用各種標準樹格式來解析文檔。您可以使用lxml來做到這一點,正如我在下面所做的那樣,或者您可以按照其user documentation中的說明與minidom,ElementTreeBeautifulSoup進行操作。

file = open("mydocument.html") 
doc = html5lib.parse(file, treebuilder="lxml") 
content = doc.findtext("html/body", default=None): 

迴應置評

有可能達致這不使用自己的simpletree.py安裝任何外部庫,但在文件 開始的評論來看我猜想這是不是推薦的方式...

# Really crappy basic implementation of a DOM-core like thing 

如果您仍然想這樣做,但是,您可以解析HTML文檔,像這樣:

f = open("mydocument.html") 
doc = html5lib.parse(f) 

然後通過對文檔中的子節點進行廣度優先搜索來查找要查找的元素。節點保存在名爲childNodes的數組中,並且每個節點的名稱都存儲在name字段中。

+0

難道你沒有一個解決方案,不需要我安裝其他python模塊? – sorin 2011-05-28 12:53:52

+0

http://code.google.com/p/html5lib/wiki/UserDocumentation,在「解析HTML」下可以幫助您。如果您沒有理由相信HTML格式正確,那麼BeautifulSoup可能是最好的選擇。 – 2011-05-28 14:24:36

+0

也許我不清楚,我想''內的整個數據,它看起來這隻返回文本(不是實體)。 – sorin 2011-05-28 16:21:02

相關問題