Als ich gestern die Scrapy
ausprobierte, versuchte ich, die Titel der Beiträge eines chinesischen Ruby-Forums zu holen. Aber irgendwie die Ausgänge des Scrapy
sind alle Unicode
, wieUnpassende Codierung der Antwort von Scrapy
"[\u5317\u4eac][2017\u5e746\u670818\u65e5] Rails Girls"
Ich habe die Codierung der Antwort ausgecheckt ist UTF-8
und ich ausgedruckt, den Inhalt des Körpers, die korrekt die chinesischen Zeichen zeigen.
Also ich bin davon verwirrt, warum ich Scrapy-Selektor verwenden, um den Titel auszuwählen und die Ausgabe in eine JSON-Datei zu legen. Der Inhalt der Datei sind dann alle Zeichenzeiger wie \u5317
. Jede Hilfe wird geschätzt. Vielen Dank.
Mein Code:
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['https://ruby-china.org/topics']
def parse(self, response):
self.logger.warning("body: %s", response.body)
for topic in response.css('div.topic'):
title = topic.css('div.media-heading')
yield {'title': title.css('a ::attr(title)').extract_first()}
Vielen Dank für die richtige und detaillierte Antwort! –