gpt4 book ai didi

python - 如何使用Python从html字符串中剥离(而不是删除)指定的标签?

转载 作者:行者123 更新时间:2023-12-01 02:39:08 25 4
gpt4 key购买 nike

使用 Python 从 HTML 字符串中剥离(而不是删除)指定标签的正确方法。

def strip_tags(html, tags=[]):
....
pass #return the html string by stripping the tags from the list

问题说明了一切。

我要编写一个 python 函数,它将 HTML 字符串作为输入,以及要删除的标签列表,(模仿 Django 模板的 removetags 功能,因为它已被弃用)

最简单的方法是什么?
由于列出的原因,以下方法对我不起作用:

  • 使用正则表达式(出于obvious原因)

  • Clean() method by Bleach library . 令人惊讶的是,这样一个强大的库对于这个需求来说毫无用处,如下所示一种白名单优先的方法,而问题是黑名单优先。 漂白剂仅对“保留”某些标签有用,但对删除某些内容(除非您准备好维护所有内容的庞大列表)可能ALLOWED_TAGS )

  • lxml.html.Cleaner() remove_tags 结合或kill_tags这有点接近我想要的,但它是超前并且做(去除)的东西比它应该做的多,而且在那里没有办法以最好的方式控制行为,比如请求Cleaner() 留住邪恶<script>标签。

  • BeautifulSoup 。这有一个名为 clear() 的方法删除指定的标签,但它会删除标签的内容,而我只需要去掉标签但保留内容。

最佳答案

美汤有unwrap() :

It replaces a tag with whatever’s inside that tag.

您必须手动迭代所有要替换的标签。

关于python - 如何使用Python从html字符串中剥离(而不是删除)指定的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911848/

25 4 0