Scrapy研究探索(四)——中文输出与中文保存

提取网页中中文并输出或者是保存时经常会出现一个问题是显示的是中文对应的unicode编码而非中文本身,这里讲述解决这种问题的方法。


一. 针对交互输出。

如以下代码:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. title = site.xpath('a/text()').extract()  
  2. link = site.xpath('a/@href').extract()  
  3. desc = site.xpath('a/@title').extract()  
[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. print title  

此时title的输出可能是类似于如下:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. \xe4\xbd\xbf\xe7\x94\xa8  

这是title对应中文的unicode格式。

将其转换为utf-8在输出即可:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. title = site.xpath('a/text()').extract()  
  2. link = site.xpath('a/@href').extract()  
  3. desc = site.xpath('a/@title').extract()  
  4.   
  5. print title  
  6. for t in title:  
  7.     print t.encode('utf-8')  

这时两次输出的前一次为unicode码,而后一次为中文。

注意:

encode()只针对str数据结构,如果不是,可以先转换为str。上面由于得到的title为list类型,所以转换如上。

二. 针对存储。

关于存储,可查看在教程(二)中在w3school和pipelines中使用的方式达到保存中文的效果。


原文链接:http://blog.csdn.net/u012150179/article/details/34450547

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值