python 断点续爬_scrapy爬虫之断点续爬和多个spider同时爬取

from scrapy.commands import ScrapyCommand

from scrapy.utils.project import get_project_settings

#断点续爬scrapy crawl spider_name -s JOBDIR=crawls/spider_name

#运行命令scrapy crawlall

class Command(ScrapyCommand):

requires_project = True

def syntax(self):

return '[options]'

def short_desc(self):

return 'Runs all of the spiders'

def run(self, args, opts):

spider_list = self.crawler_process.spiders.list()

for name in spider_list:

self.crawler_process.crawl(name, **opts.__dict__)

self.crawler_process.start()

多个spider同时运行

新建命令文件夹commands,目录下新建crawlall.py

scrapy crawlall 需在settings里配置 COMMANDS_MODULE = 'project.commands'

执行命令scrapy crawlall

原理:通过加载用户初始化的 crawler_process.spiders 获取列表下的所有spider的name,然后遍历list 分别crawl

断点续爬

#断点续爬 scrapy crawl spider_name -s JOBDIR=crawls/spider_name

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

terminnal 执行此命令

可在crawls目录下记录断点,下次继续重复执行命令可从断点续爬。

详细见开发者文档

https://doc.scrapy.org/en/latest/topics/jobs.html?highlight=jobdir

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值