Pythons HTMLParser 可以编辑/更改 HTML 元素 innerText 还是只读取它

Posted

技术标签:

【中文标题】Pythons HTMLParser 可以编辑/更改 HTML 元素 innerText 还是只读取它【英文标题】:Can Pythons HTMLParser edit/change a HTML elements innerText or ONLY read it 【发布时间】:2011-12-01 02:29:05 【问题描述】:

我正在使用 python 模块 htmlParser.py

我能够正确解析 HTML,但是否可以选择更改 HTML 元素数据(innerText)?

你知道我如何使用 HTMLParser 模块做到这一点吗?

【问题讨论】:

如果可以的话强烈推荐BeautifulSoup 【参考方案1】:

不,HTMLParser 就是这样做的:它解析您的 HTML。

您可能正在寻找Beautiful Soup。它将创建一个 ParseTree——一个代表文档 HTML 元素的对象的 Pythonic 树。然后,您可以搜索您想要的对象(元素),为其分配一个新值,瞧!

无耻地从documentation盗取:

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup("<b>Argh!</b>")
soup.find(text="Argh!").replaceWith("Hooray!")
print soup
# <b>Hooray!</b>

【讨论】:

以上是关于Pythons HTMLParser 可以编辑/更改 HTML 元素 innerText 还是只读取它的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pythons imaplib 搜索之前/之后

FFMPEG 和 Pythons 子进程

python HTMLParser

HtmlParser中的各种Filter

使用 Python 模块—— HTMLParser 解析 HTML 文档元素

从 c++ 代码运行 python 脚本并在 c++ 中使用 pythons 输出