我發現了用於xml的sax和xml.minidom的HTMLParser。我有一個很好的格式的HTML,所以我不需要太強大的分析器 - 任何建議?Python:是否有內置的軟件包來將html解析爲dom
32
A
回答
11
看看BeautifulSoup。它在解析HTML時非常流行和優秀。
25
我會推薦lxml。我喜歡BeautifulSoup,但一般都會有維護問題,以及後續版本的兼容性問題。我一直很高興使用lxml。
後來:最好的建議是使用lxml,html5lib或BeautifulSoup 3.0.8。 BeautifulSoup 3.1.x適用於python 3.x,並且已知在較早的python版本as noted on the BeautifulSoup website中存在問題。
Ian Bicking在使用lxml時有一個good article。
ElementTree是一個進一步的建議,但我從來沒有使用它。
2012-01-18:有人已經通過,並決定downvote我和巴爾託什,因爲我們建議很容易獲得,但不是蟒蛇分佈的一部分Python包。因此,對於高度字面上的StackOverflowers:「您可以使用xml.dom.minidom,但沒有人會推薦這種替代方案。」
1
要處理DOM對象,可以使用HTMLDOM作爲python。
9
BeautifulSoup和lxml很棒,但這裏不是合適的答案,因爲這個問題是關於內建函數的。以下是使用內置minidom模塊解析HTML字符串的示例。經測試與CPython的3.5.2:
from xml.dom.minidom import parseString
html_string = """
<!DOCTYPE html>
<html><head><title>title</title></head><body><p>test</p></body></html>
"""
# extract the text value of the document's <p> tag:
doc = parseString(html_string)
paragraph = doc.getElementsByTagName("p")[0]
content = paragraph.firstChild.data
print(content)
相關問題
- 1. 是否有Python包來解析可讀數據文件和節
- 2. DOM HTML解析
- 3. html解析爲DOM性能
- 4. C#是否有內置解析配置文件,而不是app.conf
- 5. 在golang中是否有任何內置的命令行解釋器軟件包?
- 6. 解析軟件包錯誤
- 7. python ipdb軟件包是否可用於其他軟件包?
- 8. PHP HTML DOM解析
- 9. HTML DOM解析器
- 10. PHP HTML解析器(是否沒有好的HTML解析器)
- 11. PHP HTML DOM解析實時PHP內容?
- 12. 解析HTML與Zend的Dom
- 13. 是否有Linux Ubuntu的adt軟件包?
- 14. 爲什麼「PHP Simple HTML DOM解析器」有時無法解析HTML body?
- 15. 將HTML表解析爲Python列表?
- 16. 配置Apache來解析服務器端包含.html文件
- 17. 是否有特定的命令來安裝下列軟件包?
- 18. 是否有Python的任何字符檢測軟件包?
- 19. Dom和xpath查詢爲html解析
- 20. 是否有任何HTML解析庫?
- 21. 是否有內置的方法來解析.NET中的消息中的錯誤?
- 22. 是否有任何網站或軟件來分析C++代碼?
- 23. 解析HTML文件不是與Python
- 24. HTML DOM解析問題
- 25. 解析HTML DOM方式
- 26. PHP DOM解析HTML表
- 27. HTML DOM文檔解析
- 28. 使用DOM解析HTML
- 29. 使用PHP解析HTML DOM
- 30. DOM文檔解析HTML
它不是建立在,如果我沒有記錯 – Guy 2010-05-06 15:12:14
不,它不是內置。但是您可以使用easy_install輕鬆安裝,或者從網站下載並放入PYTHONPATH。整個BeautifulSoup包含在一個文件中,所以它不是一個負擔。 – Bartosz 2010-05-06 15:17:43
BeautifulSoup應該解析骯髒的HTML不是「非常合適」的一個。 – tbz 2015-01-05 11:20:27