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

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



一. 针对交互输出。

如以下代码:

title = site.xpath('a/text()').extract()
link = site.xpath('a/@href').extract()
desc = site.xpath('a/@title').extract()
print title

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

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

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

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

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类型,所以转换如上。

二. 针对存储。

关于存储,可查看在教程(二)(http://blog.csdn.net/u012150179/article/details/32911511)中在w3school和pipelines中使用的方式达到保存中文的效果。

你可能感兴趣的:(python,编码,utf-8,python爬虫,Scrapy教程)