Ecco il mio ragnoScrapy testo codifica
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
Il mio problema è che le stringhe restituite sono unicode e voglio loro di codificare in UTF-8. Non so quale sia il modo migliore per farlo. Ho provato diversi modi senza risultato.
Grazie in anticipo!
Ho fatto quello che hai scritto, ma ho ancora ottenere gli stessi risultati: caratteri Unicode. L'unico modo per ottenere utf-8 è usare print vrisko ['eponimia'] invece di yield o return. – mindcast
@mindcast, dove l'hai preso? Cosa fai con gli articoli (salvando in feed JSON, feed CSV o forse pipeline personalizzata)? – reclosedev
crawl raschiato vrisko -o scraped_data.json -t json o anche raschiato strisciare vrisko e vedere i risultati sul mio schermo. So che mi manca qualcosa ma non riesco a capirlo. Grazie per l'impegno. – mindcast