1

のリストで返される Web サイトをスクレイピングしていますurls。例 -scrapy crawl xyz_spider -o urls.csv

urls.csvファイルに追加するのではなく、新しいファイルを作成したいのですが、今はまったく問題なく動作dataしています。有効にするためにできるパラメーターの受け渡しはありますか?

4

3 に答える 3

2

残念ながら、現時点ではスクレイピーはこれを行うことができません。
ただし、github には提案された機能強化があります: https://github.com/scrapy/scrapy/issues/547

ただし、出力を stdout にリダイレクトし、それをファイルにリダイレクトすることは簡単にできます。

scrapy crawl myspider -t json --nolog -o - > output.json

-o -マイナスへの出力を意味し、この場合マイナスは標準出力を意味します。
次のように、scrapy を実行する前にファイルを削除するためのエイリアスを作成することもできます。

alias sc='-rm output.csv && scrapy crawl myspider -o output.csv'
于 2016-10-30T10:31:39.967 に答える
2

私は通常、Scrapy を Python スクリプトとして実行し、Spider クラスを呼び出す前にファイルを開くことで、カスタム ファイルのエクスポートに取り組みます。これにより、csv ファイルの処理とフォーマットの柔軟性が向上し、Web アプリの拡張機能として実行したり、クラウドで実行したりすることもできます。次の行の何か:

import csv

if __name__ == '__main__':            
        process = CrawlerProcess()

        with open('Output.csv','wb') as output_file:
            mywriter = csv.write(output_file)
            process.crawl(Spider_Class, start_urls = start_urls)
            process.start() 
            process.close()                             
于 2016-11-01T03:33:18.983 に答える