我们在做爬虫的时候,经常回遇到一些特殊的空格形式,如果不对这些空格进行妥善的处理,很可能会污染我们的数据。
不同的空格种类一般我们所认识的正常空格为 0x20 这种也就是我们直接在键盘上敲击的空格。但是还有很多其他的空格形式。
- t:水平制表符
- v:垂直制表符
- f:换页符
- xa0:不间断空白符
- u0020:半角空格(英文符号),代码中常用的
- u3000:全角空格(中文符号),中文文章中使用
- u00A0:不间断空格,主要用在office中,让一个单词在结尾处不会换行显示
- :HTML 中的空格表示形式
使用正则表达式去掉空格
import re re.sub(r's', '', msg)
借助 unicodedata 这个库,这个库里有一个 normalize 函数,可以将其他特殊的空格转换为标准的空格。
import unicodedata as ucd
ucd.normalize('NFKC', msg).replace(' ', '')
REFERENCE
[1] python剔除空格u3000: https://zhuanlan.zhihu.com/p/348461462
[2] 三种空格unicode(u00A0,u0020,u3000)表示的区别: https://www.jianshu.com/p/4317e3749a13
[3] 网页爬虫中xa0、u3000等字符的解释及去除: https://blog.csdn.net/pengjunlee/article/details/104674623/



