我们在做爬虫的时候,经常回遇到一些特殊的空格形式,如果不对这些空格进行妥善的处理,很可能会污染我们的数据。
不同的空格种类
一般我们所认识的正常空格为 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/
|