python爬取内容剔除nbsp_python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法...

转自:https://www.cnblogs.com/BlackStorm/p/6359005.html

处理方法 str.replace(u'\xa0', u' ')

最近用 scrapy 爬某网站,发现拿到的内容里面含有 \xa0 、 \u3000 这样的字符,起初还以为是编码不对,搜了一下才知道是见识太少 233 。

\xa0 是不间断空白符  

我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。

而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。

latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。

\u3000 是全角的空白符

根据Unicode编码标准及其基本多语言面的定义, \u3000 属于CJK字符的CJK标点符号区块内,是空白字符之一。它的名字是 Ideographic Space ,有人译作表意字空格、象形字空格等。顾名思义,就是全角的 CJK 空格。它跟 nbsp 不一样,是可以被换行间断的。常用于制造缩进, wiki 还说用于抬头,但没见过。

这里还有一个 Unicode.org 上关于 CJK 标点符号块的字符代码表。

转自https://www.cnblogs.com/my8100/p/7709371.html

0.目录

1.参考

2.问题定位

不间断空格的unicode表示为 u\xa0',超出gbk编码范围?

3.如何处理

.extract_first().replace(u'\xa0', u' ').strip().encode('utf-8','replace')

1.参考

详细解释

unicodedata.normalize('NFKD',string)  实际作用???

>>> selector.xpath(u'''

... //p[normalize-space()]

... [not(contains(normalize-space(), "\u00a0"))]

normalize-space() 实际作用???

In [244]: sel.css('.content')

Out[244]: [c1bf1bed8ed8dfce0887472f18bf5155.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值