python unicode编码转换中文_Scrapy爬虫框架抓取中文结果为Unicode编码,如何转换UTF-8编码...

关于Python的编码一直是一个痛……半夜研究Scrapy的时候抓取了一下内容,抓取了一些中文内容。都是

1\u5173\u4e8e

的Unicode编码。

我想将取得的内容转成UTF-8正常的显示中文应该怎么做?在Scrapy看得有点晕,Python转编码还好。

表示Scrapy取的好像是

1list类型

不能对该类型进行编码解码吧?

主要是我不知道怎么写这段代码的说……

另,假如我入库MySQL以

1charset='utf8'

不知道会不会正常的转成中文UTF-8而不是Unicode?

查阅了不少资料,有点迷迷糊糊的没看懂,遂到SF问一下~

thanks~

我遇到过一样的问题,可以参考

http://git.oschina.net/ldshuang/imax-spider/commit/1d05d7bafdf7758f7b422cc1133abf493bf55086

这个所说的list类型是个什么样子?list里面保存多行所抓取的字符串?那就直接for s in strs取出,encode()为utf-8再保存就行。

或者一个list就是一个抓取的字符串?可python的字符串本质也就是list啊。””.join()试试

\u5173\u4e8e 这就是utf8

http://zh.wikipedia.org/wiki/UTF-8

建议先去弄清楚unicode、UTF、UCS

1

2

3for line in list:

line = unicode(line,"UTF-8")

#do something..

这样应该可以把。

我最近用结巴分词也遇到过类似问题,然后上网查最后这样解决的(不过我是中文写入文件的数据库会不会不一样就不知道了):

1.如 @tengyun 所言,对于要输出的元素 a.encode(‘utf-8’)

2.并且在程序的开头加encoding & 重载sys。。。

1

2

3

4#encoding=utf-8

import sys

reload(sys)

sys.setdaulftencoding('utf-8')

题主还是先搞明白unicode和utf-8是什么关系吧。

List类型你也是要一个一个item地插入数据库,只要对每个item都进行转码操作即可,例如

1

2for ii in itemlist:

str = ii.encode('utf-8')

更多scrapy相关的内容,可以看看这个博客,http://tech.my-coffees.com

为了大家不再百度找答案。这里放上答案:

str=json.dumps(dict(item),ensure_ascii=False)+”\n”;

str=unicode.encode(str,’utf-8′);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值