2016-05-02 11 views
0

私はいくつかのpythonスクリプトを実行する必要があり、そのうちのいくつかは治療プロジェクトです。私はこれを試してみてくださいクモ実行するにサブプロセスを使って治療を実行する

call(["scrapy",'crawl','my_spider','-o folder_1/folder_2/output_file.csv'],cwd='project_folder') 

しかし、それは唯一の下に新しいフォルダを作成します。私は、出力のファイルディレクトリを指定するとりうるかどうかを疑問に思う

from subprocess import call 
import subprocess 

call(["scrapy",'crawl','my_spider','-o output_file.csv'],cwd='/home/luis/Schreibtisch/kukun/bbb_new_pro/scripts/2_Get_links) 

は、私はこれを試してみましたプロジェクトディレクトリ私はthtフォルダの外にファイルが欲しいです。

もう1つは、変数に出力ファイルの名前を指定できますか?以下のようなもの:

file_name = 'output file.csv' 

call(["scrapy",'crawl','my_spider','-o + file_name '],cwd='project_folder') 
+0

は、あなたの出力フォルダ – eLRuLL

+0

の先頭に '/'追加します。 –

+0

@eLRullが示唆しているように、 'call([scrap"、 'crawl'、 'my_spider'、 '-o /absolute/path/to/folder_1/folder_2/output_file.csv']、cwd = 'project_folder') 'は作業。それ以外の場合、 'call([scrap]、 'crawl'、 'my_spider'、 '-o%s'%file_name]、cwd = 'project_folder')はあなたの望むものです。このようなスクリプトからスパイダーを実行することはお勧めできません。このために[CrawlProcessの使用についてのドキュメントセクション](http://doc.scrapy.org/en/latest/topics/practices.html#run-scrapy-from-a-script)をお読みください –

答えて

1

これは私のために働いていた:私は、あまりにも、うまくいかなかったことをしてみてください@eLRuLL

from subprocess import call 

name = "spider_name" 
call(["scrapy", "crawl", "{0}".format(name), "-o {0}.json".format(name)]) 
関連する問題