2011-02-04 72 views
0

我目前正在试图让一个程序,给一个单词将查找其定义并返回它。尽管我已经完成了这项工作,但我不得不求助于使用RegEx来搜索存储定义的标签之间的文本。什么是更有效的方式来使用Python 3.x做到这一点?Python的HTML解析

+0

请先尝试搜索。 http://stackoverflow.com/search?q=%5Bpython%5D+html+parse所有这些问题都适用于您的问题。 – 2011-02-04 11:13:00

+0

[如何获取Python中Html页面的内容]的可能重复(http://stackoverflow.com/questions/2416823/how-to-get-the-content-of-a-html-page-in-蟒蛇) – 2011-02-04 11:14:22

回答

5

lxml适用于Python 3.它具有兼容ElementTree的API,但在后台使用c库,所以速度很快,并且支持Xpaths,这是一种很好的解析方式(有时)。

4

尝试BeautifulSoup一个很好的用于Python的HTML解析器。 (也适用于Python 3.x,尽管除非深入Python 3.0项目,请考虑使用2.7)

2

当谈到HTML解析时,您的要求相当简单。 Python标准库包含ElementTree模块,它应该有助于完成您计划执行的任务。查找该页面中给出的示例代码片段。

另外,从来没有犯的错误解析HTML/XML使用正则表达式。你可能不知道什么时候它会变得非常复杂,在任何情况下也是一个坏主意。