scrapy shell:将结果输出到文件
问题描述:
如何在scrapy shell中将结果输出到文件,最好是csv?scrapy shell:将结果输出到文件
我在我的bpython
shell中有一个有趣的元素列表,我可以让它们的item
。但如何将其重定向到一个文件?
答
一旦你在shell中,你可以做任何你想用Python做的事情。这包括例如使用json或csv模块从/向文件读取/写入数据。
但是,因为我们正在谈论Scrapy和CSV,让我们使用Scrapy的CsvItemExporter来完成这项工作:
from scrapy.exporters import CsvItemExporter
items = [{'one': 'data', 'two': 'more data'}, {'one': 'info', 'two': 'more info'}]
with open('data.csv', 'w') as f:
exporter = CsvItemExporter(file=f, fields_to_export=['one', 'two'])
exporter.start_exporting()
for i in items:
exporter.export_item(i)
exporter.finish_exporting()
,当你添加的-o
选项将crawl
是一个什么样Scrapy做了精简版命令将输出保存到文件。
答
以下是否回答你的问题?
https://doc.scrapy.org/en/latest/topics/feed-exports.html
一个实施刮削器时最频繁使用的功能是能够正确地储存刮数据,很多时候,这意味着产生“导出文件”与刮数据(俗称“出口饲料“)被其他系统消耗。 Scrapy通过Feed出口提供了这种功能,它允许您使用多个序列化格式和存储后端生成包含已删除项目的提要。
https://doc.scrapy.org/en/latest/topics/feed-exports.html#topics-feed-format-csv
CSV
FEED_FORMAT:使用CSV
出口商:CsvItemExporter
要指定导出列及其顺序使用FEED_EXPORT_FIELDS。其他Feed出口商也可以使用此选项,但它对CSV很重要,因为与许多其他导出格式不同,CSV使用固定标题。
我读过这个页面,但是如何使用它输出数据? –