scrapy shell:将结果输出到文件

Eug*_*sky 1 python csv scrapy output

我怎样才能在scrapy shell中输出结果到一个文件,最好是csv?

我的bpython外壳中有一个有趣的元素列表,我可以制作item它们。但是如何将其重定向到文件?

ela*_*sta 5

一旦你进入 shell,你就可以使用 Python 做任何你想做的事情。例如,这包括使用jsoncsv模块从/向文件读取/写入数据。

但是,既然我们在谈论 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()
Run Code Online (Sandbox Code Playgroud)

当您将-o选项添加到crawl命令以将输出保存到文件时,这是 Scrapy 所做的精简版本。