【问题标题】:Running a python script (which crawl scrapy spiders) from another python script从另一个 Python 脚本运行一个 Python 脚本(它会抓取爬虫)
【发布时间】:2016-03-16 11:20:23
【问题描述】:

我有一个有两个蜘蛛的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')

感谢所有回复。

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

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

    import os
    os.chdir(r'project_path')
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-09-03
        • 1970-01-01
        • 2017-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-06
        相关资源
        最近更新 更多