使用子进程运行scrapy

时间:2016-05-02 09:58:17

标签: python scrapy subprocess

我需要运行几个python脚本,其中一些是scrapy项目。

要运行蜘蛛我试试这个:

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)

我想知道是否可以指定输出的文件目录,我试过这个:

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

但是这只会在项目目录下创建一个新文件夹,我希望文件位于文件夹之外。

另一件事是,我可以在变量中指定输出文件的名称吗?类似的东西:

file_name = 'output file.csv'

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

1 个答案:

答案 0 :(得分:3)

这对我有用:

from subprocess import call

name = "spider_name"
call(["scrapy", "crawl", "{0}".format(name), "-o {0}.json".format(name)])