【问题标题】:Python HTML parsingPython HTML解析
【发布时间】:2011-06-21 04:10:28
【问题描述】:
我目前正在尝试制作一个程序,给定一个单词将查找它的定义并返回它。虽然我已经完成了这项工作,但我不得不求助于使用 RegEx 来搜索存储定义的标签之间的文本。使用 python 3.x 执行此操作的更有效方法是什么?
【问题讨论】:
标签:
python
html
python-3.x
html-parsing
【解决方案1】:
试试BeautifulSoup 一个好的 Python 的 HTML 解析器。 (也适用于 Python 3.x,但除非您深入了解 Python 3.0 项目,否则请考虑使用 2.7)
【解决方案2】:
在 HTML 解析方面,您的要求非常简单。 Python 标准库包括 ElementTree 模块,它应该有助于完成您计划执行的任务。查找该页面中给出的示例 sn-p。
另外,永远不要犯错误使用正则表达式解析 HTML/XML。你可能不知道它什么时候会变得异常复杂,而且在任何情况下这都是一个坏主意。
【解决方案3】:
lxml 适用于 Python 3。它具有与 ElementTree 兼容的 API,但在后台使用 c 库,因此速度很快,并且支持 Xpaths,这是一种很好的解析方式(有时)。