首页 > 解决方案 > 如何从python脚本运行和保存scrapy状态

问题描述

在scrapy项目中,我们可以通过JOBDIR设置定义一个作业目录来获得持久性支持,例如。

scrapy crawl somespider -s JOBDIR=crawls/somespider-1

但是,如何在 Python 脚本中使用 scrapy.crawler.CrawlerProcess 运行蜘蛛时执行相同操作,如 如何从 Python 脚本中运行 Scrapy中所回答的那样?

标签: pythonpython-2.7web-scrapingscrapyscrapy-spider

解决方案


正如您的参考问题指出的那样,您可以将设置传递给 CrawlerProcess 实例。

所以你需要做的就是通过JOBDIR设置:

import scrapy
from scrapy.crawler import CrawlerProcess

class MySpider(scrapy.Spider):
    # Your spider definition
    ...

process = CrawlerProcess({
    'JOBDIR': 'crawls/somespider-1'  # <----- Here
})

process.crawl(MySpider)
process.start() 

推荐阅读