scrapy 通过 CrawlerProcess 来同时运行多个爬虫

直接上例子代码:

# coding: utf8
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from werkzeug.utils import import_string, find_modules


scope = 'all'
process = CrawlerProcess(settings=get_project_settings())

for module_string in find_modules('CheckSpider.spiders'):
    module = import_string(module_string)
    class_string = module_string.split('.')[-1].capitalize() + 'Spider'
    spider_class = getattr(module, class_string)
    process.crawl(spider_class, scope)

process.start()

这是我在工作中的一个 用例, 总共有十个爬虫,同时启动十个爬虫。

利用werkzeug 库来实现批量导入所对应的spidercls(爬虫对应的类),初始化CrawlerProcess需要将setting对象传入,通过get_project_settings获取setting配置。

 

欢迎关注公众号:日常bug,每天写至少一篇技术文章,每天进步一点点。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值