您的位置:首页 > 其它

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

2016-11-15 23:14 232 查看


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

一. 针对交互输出。

如以下代码:

[python] view
plain copy

 





title = site.xpath('a/text()').extract()  

link = site.xpath('a/@href').extract()  

desc = site.xpath('a/@title').extract()  

[python] view
plain copy

 





print title  

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

[python] view
plain copy

 





\xe4\xbd\xbf\xe7\x94\xa8  

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

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

[python] view
plain copy

 





title = site.xpath('a/text()').extract()  

link = site.xpath('a/@href').extract()  

desc = site.xpath('a/@title').extract()  

  

print title  

for t in title:  

    print t.encode('utf-8')  

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

注意:

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

二. 针对存储。

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

原文链接:http://blog.csdn.net/u012150179/article/details/34450547
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: