python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

你把编码换成gbk试试。
■网友
建议看看看python培训黄哥的三篇文章 python开发爬虫汉字编码不再是问题: 将python2中汉字会出现乱码的事一次性说清楚 article/python_bianma.md at master · pythonpeixun/article · GitHubpython爬虫访问多个网站、中文编码的处理。 python爬虫访问多个网站、中文编码的处理。python3访问sina首页中文的处理 python3访问sina首页中文的处理
■网友
其实只需要这样子
a=\u0026#39;我是\u0026amp;nbsp字符串啊\u0026#39;
当然啦,上面的\u0026amp;nbsp只是假设看得见而已啦。
b=a.replace(\u0026#39;\\xa0\u0026#39;,\u0026#39; \u0026#39;)
“\\” 这是可以转义的 \\xa0 就是 \u0026amp;nbsp
还有,可以使用 htmlparse 里面的 unescape方法(不过3.5以后被废除了)
好了这下大概就正常了

■网友
正好我也遇到了这个让人无比蛋疼的问题。
一、先说一个与主题无关的蛋疼经历。
我要抓取某网站上电视剧的信息。
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

1.观察网页,发现我要的导演名字啊,地区啊之类的信息都存在dd标签里面。最开始我用pq对象(即PyQuery)把所有的dd标签的内容按顺序拿出来然后,对应赋值给导演啊什么的。但是跑了点数据后发现,有的网页我匹配出来导演位置上出现的是地区,或者年份,或者其他的什么东西。这就很尴尬。后来发现是因为不是所有的网页元素的dd都一样的,有的没有地区,有的没有更新。穷则变。
2.我又发现不管标签是不是相同,但是每一个dt后面都只跟着一个dd,而且他们两是相对应的。于是我写了如下代码:
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

结果发现他的输出不全。看了看是下标的问题,于是改成下面的样子就ok了。
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

两条print语句的输出如下:
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

一切都很完美。这样我只要根据key值来匹配就好了,不用再考虑标签的顺序和数量了。于是我写了如下的匹配语句:
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

欢天喜地七仙女的开始运行,结果毛都没有出来!!!
输出字典,发现它是有东西的,那就只能是 if 语句匹配的问题。回头看网页源码(第一张的红圈圈)发现它上面是用\u0026amp;nbsp做分割符号的。原来\u0026amp;nbsp占位符还和空格不一样,我以为它只是能重复在html上显示的空格。于是机智的我从 print 语句的输出中把他们粘贴复制到我的代码中代替自己写的 if 语句中含有空格而不是说\u0026amp;nbsp的匹配条件。
然后,还是毛都没有。真是一腔诗意喂了狗。然后我实在没办法了,灵机一动,把 while 语句改成了这个样子:
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’

这样就绕开了\u0026amp;nbsp的诅咒,只需要把所有的 if 语句也简单的修改一下只留下第一个字就大功告成,可以出去浪了。事实证明这样是好使的。
二、回到主题。遇到\u0026amp;nbsp怎么办?
后来我回去尝试解决这个问题,写了如下代码:
python爬虫 爬取内容的时候\u0026nbsp 空格内容变成问号‘’


推荐阅读