Implementing Scheduled Crawling in Scrapy through an Extension

Implementing Scheduled Crawling in Scrapy through an Extension

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

本文介绍了一个Scrapy扩展,用于定时调度爬虫。通过Redis管理爬虫的空闲状态,支持使用cron语法定义调度时间,并在爬虫空闲时自动激活任务。

🎯

关键要点

  • 本文介绍了一个Scrapy扩展,用于定时调度爬虫。
  • 通过Redis管理爬虫的空闲状态。
  • 支持使用cron语法定义调度时间。
  • 在爬虫空闲时自动激活任务。
  • 扩展类SpiderInsertStartUrlExtension用于实现定时调度。
  • 初始化时设置空闲最大次数和爬虫信号。
  • cron_judgement方法用于判断是否满足定时调度条件。
  • interval_time方法根据间隔时间调度爬虫。
  • spider_opened方法在爬虫启动时执行,判断是否需要定时调度。
  • insert_start_url方法用于生成任务并开始爬虫。
  • spider_closed方法在爬虫关闭时执行,记录爬虫状态。
  • spider_idle方法记录空闲状态并决定是否关闭爬虫。
  • spider_run方法根据条件激活调度爬虫。
➡️

继续阅读