Я новичок в python и scrapy, и я следую руководству dmoz. В качестве второстепенного варианта предлагаемого начального URL-адреса учебника я выбрал категорию японского языка с сайта образца dmoz и заметил, что экспорт канала, который я в конечном итоге получаю, показывает числовые значения Unicode вместо фактических японских символов.
Похоже, мне нужно как-то использовать TextResponse , но я не знаю, как заставить моего паука использовать этот объект вместо базового объекта Response.
В конечном итоге я хочу получить на выходе say
オ ン ラ イ ン シ ョ ッ プ (это японские символы)
вместо текущего вывода
[u '\ u30aa \ u30f3 \ u30e9 \ u30a4 \ u30f3 \ u30b7 \ u30e7 \ u30c3 \ u30d7'] (юникоды)
Если вы посмотрите на мой скриншот, это соответствует ячейке C7, один из текстовых заголовков.
Вот мой паук (идентичный тому, что в учебнике, за исключением другого start_url):
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from dmoz.items import DmozItem
class DmozSpider(BaseSpider):
name = "dmoz.org"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/World/Japanese/"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//ul/li')
items = []
for site in sites:
item = DmozItem()
item['title'] = site.select('a/text()').extract()
item['link'] = site.select('a/@href').extract()
item['desc'] = site.select('text()').extract()
items.append(item)
return items
settings.py:
FEED_URI = 'items.csv'
FEED_FORMAT = 'csv'
выходной снимок экрана: http://i55.tinypic.com/eplwlj.png (извините, у меня пока недостаточно очков SO для публикации изображений)