Python3:从文本中删除特殊字符

时间:2017-07-06 23:50:15

标签: python-3.x beautifulsoup python-requests

我正在使用漂亮的汤来抓取一些html / xhtml网页,如下所示:

response = requests.get(url)
soup = BeautifulSoup(response.text)
tables_list = soup.find_all("table")

但是,我的输出显示了几个我要过滤掉的特殊字符(例如Â)。我想我在解码方面缺少一些东西。

请你指点我在这里可能缺少的东西?感谢。

1 个答案:

答案 0 :(得分:1)

如果response.text包含您的回复,并且您想要过滤掉这些特殊字符,那么您可以做的是重新编码您的字符串,以便仅保留ascii字符(并忽略其他字符),然后解码再次,像这样(Python3):

In [7]: text = '<tag> normal text  â˙∆¬˚∆ hello ©µµ </tag>'

In [8]: text.encode('ascii', 'ignore').decode('ascii')
Out[8]: '<tag> normal text   hello  </tag>'

response.text执行此操作,然后您可以继续进行剩余的处理。