我需要运行几个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')
答案 0 :(得分:3)
这对我有用:
from subprocess import call
name = "spider_name"
call(["scrapy", "crawl", "{0}".format(name), "-o {0}.json".format(name)])