小编Arj*_*oso的帖子

从python中的字符串安全地删除所有html代码

我一直在阅读很多关于如何使用python从字符串中删除所有html代码的q&a,但没有一个令人满意.我需要一种方法来删除所有标签,保留/转换html实体并使用utf-8字符串.

显然,BeautifulSoup容易受到一些特制的html字符串的影响,我用HTMLParser构建了一个简单的解析器来获取文本,但是我丢失了实体

from HTMLParser import HTMLParser

class MyHTMLParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.data = []

    def handle_data(self, data):
        self.data.append(data)

    def handle_charref(self, name):
        self.data.append(name)

    def handle_entityref(self, ent):
        self.data.append(ent)
Run Code Online (Sandbox Code Playgroud)

给我一些类似的东西

[u'Asia,sp',u'cialiste du voyage',...

在spécialiste中失去了重音"e"的实体.

使用众多正则表达式中的一个,您可以找到类似问题的答案,它总会有一些未考虑的边缘情况.

我可以用任何真正好的模块吗?

html python security parsing utf-8

5
推荐指数
1
解决办法
1799
查看次数

标签 统计

html ×1

parsing ×1

python ×1

security ×1

utf-8 ×1