返回信息流更新:
最后看报错是print(r)中出现错误。在网上又查了一下原因,说的是因为我用的是在windows下的cmd中运行的scrapy,推测是cmd不能很好地兼容utf-8?我又测试了一下,注释掉print(r),而是将 r 保存到一个txt文件中,就不会出现乱码,也不会报错,说明 requests 能够得到网页源代码,只是用cmd在显示源代码的时候报的错。初学Python,弄错bug函数了,感谢大家的指导。
[ema11][ema11]
------------------------------------------------------------------------------------
暑假用scrapy做的小项目,爬取一个电商网站(http://www.yintai.com/product/list-10000520.html?intcmp=20130910_co_bagln_shishangnvbao),获取其中所有女包的信息。在使用requests获取到网页源码后,用decide函数进行"utf-8"到"Unicode"的转换,总是报错UnicodeEncodeError。在网上查询解决方法,是在decode函数的参数中添加"ignore"参数用来忽略错误,但运行的时候还是报错,求助各位大神,有什么解决方法吗?
这是一条镜像帖。来源:北邮人论坛 / python / #7962同步于 2015/7/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
使用requests爬取中文网站,decode函数报错问题(更新)
age
2015/7/31镜像同步21 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
看看网页的编码是是什么,然后你文件开头声明coding :utf-8
【 在 age 的大作中提到: 】
暑假用scrapy做的小项目,爬取一个电商网站(htt...
UTF-8 is a character encoding capable of encoding all possible characters, or code points, in Unicode.
https://en.wikipedia.org/wiki/UTF-8
【 在 jkfbrant 的大作中提到: 】
: 还真不是。。。
UTF-8是unicode的一种编码实现,并不是unicode,他们之间是encode和decode的关系
【 在 Chon 的大作中提到: 】
: UTF-8 is a character encoding capable of encoding all possible characters, or code points, in Unicode.
: https://en.wikipedia.org/wiki/UTF-8
:
所以我说LZ的从UTF-8转换到Unicode又从何而来= =
【 在 jkfbrant 的大作中提到: 】
: UTF-8是unicode的一种编码实现,并不是unicode,他们之间是encode和decode的关系
来自「北邮人论坛手机版」
在windows的cmd下使用utf8要在程序开头这么蛋疼一下......
import sys
reload(sys)
sys.setdefaultencoding('utf8')