参考官方文档:https://docs.scrapy.org/en/latest/topics/jobs.html?highlight=JOBDIR#jobs-pausing-and-resuming-crawls

Scrapy原生是支持断点续爬,这意味着如果运行爬虫时发生错误或中断,可以从上次停止的位置恢复爬取。下面是一些可以实现断点续爬的方法:

  1. 使用Scrapy自带的JOBDIR设置。使用该参数可以将当前爬虫的状态存储在硬盘上,以便在后续运行时从此处继续。例如:scrapy crawl myspider -s JOBDIR=jobs/myspider-1
  2. 在settings.py文件中启用JOBDIR设置。这样可以在多个爬虫之间共享状态。例如:
JOBDIR = 'jobs'
  1. 在Spider代码中使用start_requests方法中的request.meta['foo']参数自定义断点。例如:
def start_requests(self):
last_seen = self.get_last_seen()
if last_seen:
yield scrapy.Request("http://example.com/items?page=1",
meta={'page': last_seen},
callback=self.parse_items) def parse_items(self, response):
page = response.meta.get('page', 1)
# ...
self.save_last_seen(page)

无论哪种方式,断点续爬的目标都是在发生错误时保留爬虫当前的状态,并在后续运行时从此处继续。为了成功实现断点续爬,必须确保每个页面都被处理。如果不确定一个页面是否被处理,请将其标记为不可用,直到下一个周期开始。这可以通过一个标志或者一个数据库中的字段来实现。

Scrapy自带的断点续爬JOB-DIR参数的更多相关文章

  1. scrapy爬虫之断点续爬和多个spider同时爬取

    from scrapy.commands import ScrapyCommand from scrapy.utils.project import get_project_settings #断点续 ...

  2. scrapy 断点续爬

    第一步:安装berkeleydb数据库 第二部:pip install bsddb3 第三部:pip install scrapy-deltafetch 第四部: settings.py设置 SPID ...

  3. Spider-scrapy断点续爬

    scrapy的每一个爬虫,暂停时可以记录暂停状态以及爬取了哪些url,重启时可以从暂停状态开始爬取过的URL不在爬取 实现暂停与重启记录状态 方法一: 1.首先cd进入到scrapy项目里(当然你也可 ...

  4. 【图文详解】scrapy安装与真的快速上手——爬取豆瓣9分榜单

    写在开头 现在scrapy的安装教程都明显过时了,随便一搜都是要你安装一大堆的依赖,什么装python(如果别人连python都没装,为什么要学scrapy….)wisted, zope interf ...

  5. 使用Scrapy自带的ImagesPipeline下载图片,并对其进行分类。

    ImagesPipeline是scrapy自带的类,用来处理图片(爬取时将图片下载到本地)用的. 优势: 将下载图片转换成通用的JPG和RGB格式 避免重复下载 缩略图生成 图片大小过滤 异步下载 . ...

  6. python3.6 单文件爬虫 断点续存 普通版 文件续存方式

    # 导入必备的包 # 本文爬取的是顶点小说中的完美世界为列.文中的aa.text,bb.text为自己创建的text文件 import requests from bs4 import Beautif ...

  7. curl断点续载

    摘自http://blog.csdn.net/zmy12007/article/details/37157297 摘自http://www.linuxidc.com/Linux/2014-10/107 ...

  8. 关于视频断点续播和H5的本地存储

    前段时间,需要在下实现一个视频的断点续播功能,呃,我不会呀,这就很尴尬了.然后呢,在下就想起了一个叫做localStorage的东西.这是个什么东西呢?在网上查阅了一些资料后,在下发现这是webSto ...

  9. 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图

    第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图 1.基本概念 2.反爬虫的目的 3.爬虫和反爬的对抗过程以及策略 scra ...

  10. scrapy请求传参-BOSS反爬

    scrapy请求传参-BOSS反爬 思路总结 首先boss加了反爬 是cookies的 爬取的内容为职位和职位描述 # -*- coding: utf-8 -*- import scrapy from ...

随机推荐

  1. vue列表逐个进入过渡动画

    vue实现列表依次逐渐进入动画 利用vue 中transition-group 实现列表逐个进入动画效果 1.vue3代码, <template> <section class=&q ...

  2. excel的烦恼

    Smiling & Weeping ---- 他未对我好半分,偏巧这感情疯长似野草 题目链接:https://www.matiji.net 思路:与新三进制2思路相似,转化为纯26进制,然后往 ...

  3. JUC并发编程(3)—锁中断机制

    目录 1.什么是中断 2.源码解读(中断的相关API) 3.如何使用中断标识停止线程 学习视频:https://www.bilibili.com/video/BV1ar4y1x727 1.什么是中断 ...

  4. 聊聊基于Alink库的决策树模型算法实现

    示例代码及相关内容来源于<Alink权威指南(Java版)> 概述 决策树模型再现了人们做决策的过程,该过程由一系列的判断构成,后面的判断基于前面的判断结果,不断缩小范围,最终推出结果. ...

  5. nginx配置kibana访问用户名和密码认证、及无认证访问配置

    转载请注明出处: 在nginx上配置kibana页面访问时,默认是采用kibana的认证,一般直接安装kibana后,是没有用户名和密码认证的. 如果要在负载均衡上配置反向代理和用户认证,可按以下步骤 ...

  6. Django-rest-framework框架——Xadmin的使用、Book系列多表群操作、RBAC-基于角色的访问控制

    @ 目录 一 过滤Filtering 二 排序 三 分页Pagination 可选分页器 应用 四 异常处理 Exceptions 4.1 使用方式 4.2 案例 4.3 REST framework ...

  7. July 2023 (version 1.81)

    July 2023 (version 1.81) 更新后显示发行说明 Update 1.81.1: The update addresses these issues. Welcome to the ...

  8. StackOverflow 并不只是一个问答网站

    首页    新文章  联系  管理  订阅  StackOverflow 并不只是一个问答网站 今天看到了一个网站的模仿StackOverflow的问答应用,有点儿感慨:是不是设计这个模仿应用的人,真 ...

  9. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-20-处理鼠标拖拽-下篇

    1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,其次有人私信宏哥说是有那种类 ...

  10. Spring扩展接口(3):BeanFactoryPostProcessor

    在此系列文章中,我总结了Spring几乎所有的扩展接口,以及各个扩展点的使用场景.并整理出一个bean在spring中从被加载到最终初始化的所有可扩展点的顺序调用图.这样,我们也可以看到bean是如何 ...