FEED_EXPORT_ENCODING选项不适用于Scrapyd中的Items文件 - Python Scrapy

时间:2017-05-14 04:38:13

标签: python json scrapy scrapyd

我正在抓中文网站。

我有

FEED_EXPORT_ENCODING='utf-8'

settings.py档案中。

如果我通过

运行我的刮刀

scrapy crawl myscraper -o output.json

然后我的输出文件显示正确的中文。

但如果我通过Scrapyd启动我的刮刀,则http://my-website:6800/jobs中创建的项目不会被编码且不正确。

为什么FEED_EXPORT_ENCODING='utf-8'没有使用Scrapyd?

然后我设置了FEED_URI='files/output.json',然后通过Scrapyd跑了一下。

现在FEED_URI='files/output.json'的输出文件格式/编码正确。

可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

现在我还没有看到Scrapyd可能做错FEED_EXPORT_ENCODING的任何事情:它应该受到尊重(确切地说,未触动)设置。

  

但是如果我通过Scrapyd开始我的刮刀,则http://my-website:6800/jobs中创建的项目不会被编码而且不正确。

您刚刚在浏览器窗口中查看了这些项目,或者是否已将完整内容下载到本地磁盘上并使用支持UTF-8的方法查看了它? Scrapyd的webservice在提供项目(code)时没有指定编码,这可能导致错误解释。但是服务器上生成的项目文件(sample path)应该没问题。你能核实一下吗?