如何清除python中任何非unicode \特殊字符、html标记、js(留下纯文本和标点符号)中的字符串?

如何清除python中任何非unicode \特殊字符、html标记、js(留下纯文本和标点符号)中的字符串?,python,unicode,web-scraping,Python,Unicode,Web Scraping,我读过很多类似的问题,但没有找到解决我在数据清理中遇到的所有问题的方法 我有一个脚本,它可以抓取一组网站,并从页面正文中获取特定的文本块 我遇到的问题是,文本中仍然存在html标记、引号的不同符号(不是“但”或更糟糕的情况),以及&等等 现在,我通过自己的清理函数解析文本,但它们并不完美,仍然遗漏了一些案例 我想知道是否有一个包或通用的方法来清除所有这些案例中的字符串,并具有诸如“转换为”之类的字符?您看过吗?您可以使用HTMLPasser模块 在python 2上: 从HTMLPasser导入

我读过很多类似的问题,但没有找到解决我在数据清理中遇到的所有问题的方法

我有一个脚本,它可以抓取一组网站,并从页面正文中获取特定的文本块

我遇到的问题是,文本中仍然存在html标记、引号的不同符号(不是“但”或更糟糕的情况),以及&等等

现在,我通过自己的清理函数解析文本,但它们并不完美,仍然遗漏了一些案例


我想知道是否有一个包或通用的方法来清除所有这些案例中的字符串,并具有诸如“转换为”之类的字符?

您看过吗?

您可以使用HTMLPasser模块

在python 2上: 从HTMLPasser导入HTMLPasser

class MLStripper(HTMLParser):
def __init__(self):
    self.reset()
    self.fed = []
def handle_data(self, d):
    self.fed.append(d)
def get_data(self):
    return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()
在python 3上:

from html.parser import HTMLParser

class MLStripper(HTMLParser):
def __init__(self):
    self.reset()
    self.strict = False
    self.convert_charrefs= True
    self.fed = []
def handle_data(self, d):
    self.fed.append(d)
def get_data(self):
    return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

举个例子,这是只剥离html还是也处理“奇怪”的符号?我也认为我有时会遇到不同的字符集,不知道如何处理。。。