爬虫工作量由小到大的思维转变---<第二十七章 Scrapy的暂停和重启>

前言:

一个小知识点,刚刚有朋友私信我的; 就是scrapy的暂停与重启;

没什么可讲的,就是一个命令,还有需要注意的一个地方,我就当留言板来写这篇吧!

正文:

首先,如果我们在控制台中,一般都是用ctrl+c进行停止;(ctrl+c一次是暂停,两次是终止)

而如果想让scrapy继续第一次爬完之后,带爬取的任务继续下去,我们必须要明白,需要有一个队列~或者说,我们需要知道scrapy第一次爬了哪些(这次重新爬就不用再爬了;然后我们接着爬); 于是,就需要有一个专门用来放这些缓存的文件夹;

直接控制台,或者cmd里面到爬虫文件:

scrapy crawl <spider_name> -s JOBDIR=<job_directory>

其中,<spider_name> 是要运行的爬虫的名称,<job_directory> 是指定的用于存储状态信息的目录。通过设置 -s JOBDIR=<job_directory> 参数,Scrapy 将在指定的目录中创建状态文件,并将爬虫的状态信息存储在其中。

也就是说,当你运行的时候,最好在后面加一个 "-s JOBDIR=一个文件夹名"(如果你没有创建,他会自己给你创建的);

然后,你不小心停了,或者中断了;他会自动把爬虫信息,存到这个文件夹中~ 

下次,你再要重启你这未完成任务的爬虫时,继续用这个

scrapy crawl <spider_name> -s JOBDIR=<job_directory>

就行了!!!

然后,网上说啥:"在setting里面设置JOBDIR=xxx" ,我个人感觉没啥用;虽然原理是这么个原理,但实际在运行爬虫的时候,多还是临时添加一个 JOBDIR,这样一个爬虫一个任务会很方便; 即使你在setting里添加了这个jobdir设置,你正常启动爬虫,他不会给你生成缓存文件夹的;

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-27 00:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-27 00:12:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-27 00:12:02       82 阅读
  4. Python语言-面向对象

    2023-12-27 00:12:02       91 阅读

热门阅读

  1. Create react app 修改webapck配置导入文件alias

    2023-12-27 00:12:02       71 阅读
  2. 【负载均衡】Keepalived 高可用详解

    2023-12-27 00:12:02       56 阅读
  3. Ubuntu下编译Qt5.15源码

    2023-12-27 00:12:02       104 阅读
  4. linux代码 PBS提交fluent脚本

    2023-12-27 00:12:02       57 阅读
  5. Unity-序列化和反序列化

    2023-12-27 00:12:02       62 阅读
  6. ansible_jinja2模板的使用

    2023-12-27 00:12:02       45 阅读
  7. 设计模式笔记

    2023-12-27 00:12:02       45 阅读
  8. MySql 事务隔离级别详解

    2023-12-27 00:12:02       50 阅读
  9. python初试四

    2023-12-27 00:12:02       67 阅读