7

使用 Python 文档我找到了HTML 解析器,但我不知道要导入哪个库来使用它,我该如何找到它(记住它并没有在页面上说明)。

4

8 回答 8

24

您可能真的想要BeautifulSoup,请查看链接以获取示例。

但无论如何

>>> import HTMLParser
>>> h = HTMLParser.HTMLParser()
>>> h.feed('<html></html>')
>>> h.get_starttag_text()
'<html>'
>>> h.close()
于 2008-09-16T10:54:05.363 回答
18

尝试:

import HTMLParser

在 Python 3.0 中,HTMLParser 模块已重命名为 html.parser 你可以在这里查看

蟒蛇3.0

import html.parser

Python 2.2 及更高版本

import HTMLParser
于 2008-09-16T10:51:40.517 回答
4

我建议改用Beautiful Soup模块,它有很好的文档

于 2008-09-16T10:54:21.023 回答
4

您还应该查看用于 Python 的html5lib,因为它尝试以非常类似于 Web 浏览器的方式解析 HTML,尤其是在处理无效 HTML(这是当今 Web 的 90% 以上)时。

于 2008-09-16T12:14:04.750 回答
4

您可能对lxml感兴趣。它是一个单独的包并具有 C 组件,但速度最快。它还有非常好的 API,允许您轻松列出 HTML 文档中的链接,或列出表单、清理 HTML 等等。它还具有解析格式不正确的 HTML 的功能(它是可配置的)。

于 2008-09-17T11:19:11.393 回答
3

如果你想要速度,我不推荐 BeautifulSoup。lxml 快得多,如果默认解析器不起作用,您可以退回到 lxml 的 BS soupparser。

于 2008-09-16T13:21:55.523 回答
1

( http://docs.python.org/2/library/htmlparser.html )底部有一个示例链接,它只是不适用于原始 python 或 python3。它必须是 python2,正如它在顶部所说的那样。

于 2008-09-16T10:52:39.563 回答
1

对于现实世界的 HTML 处理,我推荐BeautifulSoup。它很棒,可以消除很多痛苦。安装很容易。

于 2008-09-16T10:55:20.070 回答