我使用Scrapy从一个网站中提取一些值,其中一个字段是“price”,我得到了如下结果:
...
item = {
"title": title,
"url" : url,
"price": {
"symbol": the_currency_symbol,
"amount": float_number
}
}
yield item
我将输出设置为JSON文件,并生成一个字典项。
问题是,当我打开包含这些项的输出JSON时,我看到了以下内容:
{
"title": title,
"url" : url,
"price": {
"symbol": "\u00a3",
"amount": 12.99
}
}
如何在JSON文件中看到正确的货币符号?
1条答案
按热度按时间rnmwe5a21#
Scrapy通常以ASCII编码生成JSON提要。您的JSON文件包含正确的数据,但要正确查看货币符号,您可以将输出JSON文件转换为UTF-8编码。
您可以通过设置
FEED_EXPORT_ENCODING="utf-8"
使Scrapy生成UTF-8编码的JSON。有关更多帮助,请参阅问题的答案:Scrapy json response convert in utf-8 encode和Scrapy文档https://docs.scrapy.org/en/latest/topics/feed-exports.html#std-setting-FEED_EXPORT_ENCODING。如果你不想再次运行scraper,那么你可以在你的JSON文件(比如
jq file.json > outfile.json
)上使用一些工具(比如https://stedolan.github.io/jq/),这样outfile.json就会有正确的符号。