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 数据库中。
这里也有一张简陋的Latin1字符集对照表。
\u3000 是全角的空白符 根据Unicode编码标准及其基本多语言面的定义, \u3000 属于CJK字符的CJK标点符号区块内,是空白字符之一。它的名字是 Ideographic Space ,有人译作表意字空格、象形字空格等。顾名思义,就是全角的 CJK 空格。它跟 nbsp 不一样,是可以被换行间断的。常用于制造缩进, wiki 还说用于抬头,但没见过。
这里还有一个 Unicode.org 上关于 CJK 标点符号块的字符代码表。
转自https://www.cnblogs.com/my8100/p/7709371.html
HTML转义字符&npsp;表示non-breaking space,unicode编码为u'\xa0',超出gbk编码范围? 0.目录 1.参考
2.问题定位
不间断空格的unicode表示为 u\xa0',超出gbk编码范围?
3.如何处理
.extract_first().replace(u'\xa0', u' ').strip().encode('utf-8','replace')
1.参考 Beautiful Soup and Unicode Problems
详细解释
unicodedata.normalize('NFKD',string)实际作用???
Scrapy : Select tag with non-breaking space with xpath
>>> selector.xpath(u'''
...//p[normalize-space()]
...[not(contains(normalize-space(), "\u00a0"))]
normalize-space() 实际作用???
In [244]: sel.css('.content') Out[244]: ["descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), ' content ')]" data=https://www.it610.com/article/u'
BeautifulSoup下Unicode乱码解决
【python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法】
s.replace(u
'\xa0'
, u'
').encode('
utf
-
8
')
2.问题定位 https://en.wikipedia.org/wiki/Comparison_of_text_editors
定位元素显示为 &npsp;
文章图片
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)