Scrapy注册一个自定义的清洁逐行项目导出器
所以,这本应该更简单,而且最终也很简单,但这些零碎的文档确实留下了一些发现。。。总之,这是一个Q+a:Scrapy注册一个自定义的清洁逐行项目导出器,scrapy,Scrapy,所以,这本应该更简单,而且最终也很简单,但这些零碎的文档确实留下了一些发现。。。总之,这是一个Q+a: 如何将Scrapy项目“按原样”逐行右转到文本文件?基本上,您需要注册一个项目导出器,然后通过命令行告诉Scrapy您要使用它: 创建名为:lines\u exporter.py的文件: 在settings.py中添加/编辑以下内容: 从命令行调用Scrapy时,请指定输出格式标志,或: 享受吧 from scrapy.exporters import BaseItemExporter fro
如何将Scrapy项目“按原样”逐行右转到文本文件?基本上,您需要注册一个项目导出器,然后通过命令行告诉Scrapy您要使用它:
from scrapy.exporters import BaseItemExporter
from scrapy.utils.python import to_bytes
class LinesExporter(BaseItemExporter):
def __init__(self, file, **kwargs):
super().__init__(dont_fail=True, **kwargs)
self.file = file
self._kwargs.setdefault('ensure_ascii', not self.encoding)
def export_item(self, item):
itemdict = dict(self._get_serialized_fields(item))
data = ', '.join(itemdict.values()) + '\n'
self.file.write(to_bytes(data, self.encoding))
FEED_EXPORTERS = {
'lines': 'project_name.lines_exporter.LinesExporter',
}
-t lines