web-scraping - Scrapy:每个蜘蛛一个 jobdir

标签 web-scraping scrapy

我有一个包含多个蜘蛛的 Scrapy 项目。如何使用自己的 jobdir 运行所有蜘蛛程序?我在下面的代码中展示了如何使用一个 jobdir 执行所有蜘蛛。

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

settings = get_project_settings()
settings.set('JOBDIR', 'saved_crawl', priority='cmdline')


process = CrawlerProcess(settings)

process.crawl('spider1')
process.crawl('spider2')
process.start()

最佳答案

好吧,我发现解决方案很简单。我只需要在自定义设置字典中为每个蜘蛛定义 JOBDIR :

class Spider1(scrapy.Spider):
    name = 'spider1'
    custom_settings = {'JOBDIR': 'crawl_spider1'}

关于web-scraping - Scrapy:每个蜘蛛一个 jobdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56169072/

相关文章:

css - 无法使用 BS4 找到 css 选择器

python - 如何提取忽略嵌套标签的文本,其中我需要 <td> 但不需要嵌套 <strong> 中的文本

json - 有什么方法可以抓取/抓取谷歌搜索的 "about"部分吗?

python - 启动 scrapy shell 时如何禁用 robots.txt?

web-scraping - 错误: Page crashed! at Page._onTargetCrashed PUPPETEER

python - 将表抓取到列表中

python - 允许使用 Scrapy Image Pipeline 进行重复下载吗?

python - 如何使用 xpath 和正则表达式在 Python 中更优雅地提取数字

python - 使用 Scrapy (Python) 抓取网络数据(在线新闻评论)

python - scrapy 检查 url 是否有 404 错误