scrapy写的爬虫都需要短时间进行循环爬取,但是频繁的调度在scrapy和scrapyd部署情况下日志非常难以收集及查错

所以在爬虫内添加了一个middlewares,作用是在爬虫要结束的时候并不结束爬虫,1.等待一个预先设定的时间,然后将整个爬虫的任务重新开启 2.或者爬虫结束的时候已经超过了设定的调度时间,直接把爬虫任务重新开启

单个爬虫使用的时候需要进行middleware引入且设定一个routine_interval参数

使用方法:

在spider的setting中引入此middleware并设定ROUTINE_INTERVAL参数

    custom_settings = {
        "ROUTINE_INTERVAL": 300, # 每300s调度一次
        "SPIDER_MIDDLEWARES": {
            'spiders.middlewares.RoutineSpiderMiddleware': 543,
        },
    }

 

代码位置:https://github.com/Jaccccccccccccccccccccccccccccck/scrapy_routine/blob/master/scrapy_routine.py

 

相关文章:

  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2021-10-26
  • 2021-12-05
  • 2022-01-19
猜你喜欢
  • 2022-12-23
  • 2021-06-01
  • 2021-06-13
  • 2021-11-06
  • 2021-11-10
  • 2022-12-23
  • 2021-05-30
相关资源
相似解决方案