2016-12-20 12 views
0

どのように私はscrapyシェル出力結果をファイル、できればcsvに出力できますか?scrapy shell:ファイルへの出力結果

bpythonシェルに興味深い要素のリストがありますが、itemを作成できます。しかし、それをファイルにリダイレクトする方法は?

答えて

3

シェルに入ったら、Pythonを使って何でもしたいことができます。これには、たとえば、jsonまたはcsvモジュールを使用してファイルからのデータの読み取り/書き込みが含まれます。

しかし、我々はのは、仕事を得るためにScrapyのCsvItemExporterを使用してみましょう、ScrapyおよびCSVについて話しているので、:

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() 

あなたはcrawl-oオプションを追加するときScrapyが何をするかのストリップダウンバージョンですコマンドを使用して出力をファイルに保存します。

0

あなたの質問には次の回答がありますか?最も頻繁に必要な機能の

https://doc.scrapy.org/en/latest/topics/feed-exports.html

一つスクレイパーを実装する際に掻き取られたデータとの「エクスポートファイル」を生成することを意味し、かなり頻繁に、適切に掻き取ったデータを格納することができることと、(一般的に「と呼ばれますエクスポートフィード ")を他のシステムで使用することができます。 Scrapyは、この機能をFeed Exportsと共に提供しています。これにより、複数のシリアライズフォーマットとストレージバックエンドを使用して、スクラップしたアイテムを含むフィードを生成できます。

https://doc.scrapy.org/en/latest/topics/feed-exports.html#topics-feed-format-csv

CSV

FEED_FORMAT:CSV

Exporterは使わ:CsvItemExporter

を輸出し、そのために使用FEED_EXPORT_FIELDSに列を指定します。他のフィードエクスポータでもこのオプションを使用できますが、他の多くのエクスポートフォーマットとは異なり、CSVは固定ヘッダを使用するため、CSVにとって重要です。

+1

私はこのページを読んだことがありますが、それを使ってどのようにデータを出力できますか? –

関連する問題