使用BeautifulSoup解析HTML遇特殊NBSP字符,如何清除?
解决方法
这些特殊空白字符(比如NBSP、ZWNJ)是解析后得到的Unicode空白字符,并非HTML实体,因此BeautifulSoup不会对其进行解析转换。这类字符通常是HTML内容作者从Word等文档复制内容时带入的。
清除这类字符有两种可行方法:
- 方法一:过滤保留可打印字符
通过筛选仅保留字符串中的可打印字符,直接剔除特殊空白:
import string text = tagobject.getText() # tagobject为你要处理的soup标签对象 text = ''.join(filter(lambda x: x in string.printable, text))
- 方法二:直接替换指定Unicode编码字符
如果你明确目标字符的Unicode编码(比如NBSP的编码为\xa0),可以直接替换:
text.replace(u'\xa0', ' ')
内容的提问来源于stack exchange,提问作者Ziqi
相关产品推荐
相关产品推荐

