Aquí está mi arañascrapy codificación de texto
from scrapy.contrib.spiders import CrawlSpider,Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from vrisko.items import VriskoItem
class vriskoSpider(CrawlSpider):
name = 'vrisko'
allowed_domains = ['vrisko.gr']
start_urls = ['http://www.vrisko.gr/search/%CE%B3%CE%B9%CE%B1%CF%84%CF%81%CE%BF%CF%82/%CE%BA%CE%BF%CF%81%CE%B4%CE%B5%CE%BB%CE%B9%CE%BF']
rules = (Rule(SgmlLinkExtractor(allow=('\?page=\d')),'parse_start_url',follow=True),)
def parse_start_url(self, response):
hxs = HtmlXPathSelector(response)
vriskoit = VriskoItem()
vriskoit['eponimia'] = hxs.select("//a[@itemprop='name']/text()").extract()
vriskoit['address'] = hxs.select("//div[@class='results_address_class']/text()").extract()
return vriskoit
Mi problema es que las cadenas devueltas son Unicode y quiero codificarlos a UTF-8. No sé cuál es la mejor manera de hacer esto. Intenté varias maneras sin resultado.
¡Gracias de antemano!
He hecho lo que he escrito, pero sigo teniendo los mismos resultados: caracteres Unicode. La única forma de obtener utf-8 es usar print vrisko ['eponimia'] en lugar de yield o return. – mindcast
@mindcast, ¿Dónde lo obtuviste? ¿Qué hace con los artículos (guardar en json feed, csv feed o tal vez tubería personalizada)? – reclosedev
scrapy crawl vrisko -o scraped_data.json -t json o incluso scrapy crawl vrisko y vea los resultados en mi pantalla. Sé que extraño algo, pero no puedo entenderlo. Gracias por su esfuerzo. – mindcast