【发布时间】:2015-09-05 12:56:35
【问题描述】:
我正在尝试重写官方的 Scrapy 教程 (http://doc.scrapy.org/en/latest/intro/tutorial.html) 俄罗斯网站 habrahabr.ru 的代码。
这是我的代码:
import scrapy
class DmozSpider(scrapy.Spider):
name = 'habr'
allowed_domains = ['habrahabr.ru']
start_urls = [
'http://habrahabr.ru/interesting/'
]
def parse(self, response):
yield {'title': response.xpath('//title/text()').extract()[0]}
它返回:{'title': u'\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 / \u0425\u0430\u0431\u0440\u0430\u0445\u0430\u0431\u0440'}
当我尝试时:
yield {'title': response.xpath('//title/text()').extract()[0].encode('utf-8')}
返回:
{'title': '\xd0\x98\xd0\xbd\xd1\x82\xd0\xb5\xd1\x80\xd0\xb5\xd1\x81\xd0\xbd\xd1\x8b\xd0\xb5 \xd0\xbf\xd1\x83\xd0\xb1\xd0\xbb\xd0\xb8\xd0\xba\xd0\xb0\xd1\x86\xd0\xb8\xd0\xb8 / \xd0\xa5\xd0\xb0\xd0\xb1\xd1\x80\xd0\xb0\xd1\x85\xd0\xb0\xd0\xb1\xd1\x80'}
如何改变这种行为?
【问题讨论】:
-
你想让它做什么?
-
使用该命令 scrapy runspider habrahabr.py -o habra_intresting.json 它必须将标题写入 json 文件
-
您向我们展示了它实际输出的内容,但不是您希望它输出的内容。
标签: python encoding utf-8 scrapy