从另一个python脚本运行python脚本(爬行scrapy spiders)

时间:2016-03-16 11:20:24

标签: python scrapy

我有一个带有两只蜘蛛的scrapy项目。我还创建了test.py(在这个scrapy项目中)来抓取蜘蛛

代码:

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

process = CrawlerProcess(get_project_settings())

process.crawl('nameofspider1', domain='domain')
process.crawl('nameofspider2', domain='domain')

process.start() 

它工作正常。

问题是当我想从另一个python脚本运行这个脚本(test.py)时,我得到了

  

KeyError:'未找到蜘蛛:nameofspider1'

第二个python脚本的代码:

import os

os.system('python C:\Users\Adam\nameofproject\test.py')

感谢所有回复。

2 个答案:

答案 0 :(得分:1)

问题出在路径上。我不得不补充道:

import os
os.chdir(r'project_path')

答案 1 :(得分:0)

我这样做是为了运行我的蜘蛛。

import os
import subprocess

os.chdir('projectname')
subprocess.call(
    ['scrapy', 'crawl', 'spidername']
)