分布式 爬虫

  • scrapy-redis 实现

  • 原生scrapy 无法实现 分布式

    • 调度器和管道无法被分布式机群共享
  1. 环境安装

    - pip install scrapy_redis
  2. 导包:from scrapy_redis.spiders import RedisCrawlSpider

  3. 修改spider爬虫文件
    - 将爬虫类的父类修改成RedisCrawlSpider
    - 删除allowed_domains和start_urls这两个属性
    - 添加一个新属性:redis_key = 'xxx'(调度器队列的名称)

  4. 配置使用指定的调度器和管道(在配置文件中增加如下配置)

    # 增加了一个去重容器类的配置, 作用使用Redis的set集合来存储请求的指纹数据, 从而实现请求去重的持久化DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"# 使用scrapy-redis组件自己的调度器SCHEDULER = "scrapy_redis.scheduler.Scheduler"# 配置调度器是否要持久化, 也就是当爬虫结束了, 要不要清空Redis中请求队列和去重指纹的set。如果是True, 就表示要持久化存储, 就不清空数据, 否则清空数据SCHEDULER_PERSIST = TrueITEM_PIPELINES = {'scrapy_redis.pipelines.RedisPipeline': 400
    }
  5. 指定持久化存储对应redis的服务器:
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

  6. redis配置:(redis.windows.conf)

    bind 127.0.0.1

    关闭保护模式:protected-mode no

  7. 开启redis的服务端和客户端

  8. 运行工程:

    scrapy runspider spiderFilePath

  9. 向调度器的队列中仍入一个起始的url:

    在redis的客户端执行:lpush xxx www.xxx.com

转载于:https://www.cnblogs.com/zhang-zi-yi/p/10749452.html

Scrapy 框架 分布式 爬虫相关推荐

  1. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  2. 关于使用scrapy框架编写爬虫以及Ajax动态加载问题、反爬问题解决方案

    关于使用scrapy框架编写爬虫以及Ajax动态加载问题.反爬问题解决方案 参考文章: (1)关于使用scrapy框架编写爬虫以及Ajax动态加载问题.反爬问题解决方案 (2)https://www. ...

  3. python中data.find_all爬取网站为空列表_Python网络爬虫之Scrapy 框架-分布式【第二十九节】...

    1. 介绍scrapy-redis框架 scrapy-redis 一个三方的基于redis的分布式爬虫框架,配合scrapy使用,让爬虫具有了分布式爬取的功能. github地址: https://g ...

  4. 22-爬虫之scrapy框架分布式09

    分布式 实现分布式的方式:scrapy+redis(scrapy结合着scrapy-redis组件) 原生的scrapy框架是无法实现分布式的 什么是分布式 需要搭建一个分布式机群,然后让机群中的每一 ...

  5. 一个scrapy框架的爬虫(爬取京东图书)

    我们的这个爬虫设计来爬取京东图书(jd.com). scrapy框架相信大家比较了解了.里面有很多复杂的机制,超出本文的范围. 1.爬虫spider tips: 1.xpath的语法比较坑,但是你可以 ...

  6. python爬取京东书籍_一个scrapy框架的爬虫(爬取京东图书)

    我们的这个爬虫设计来爬取京东图书(jd.com). scrapy框架相信大家比较了解了.里面有很多复杂的机制,超出本文的范围. 1.爬虫spider tips: 1.xpath的语法比较坑,但是你可以 ...

  7. 基于scrapy的分布式爬虫抓取新浪微博个人信息和微博内容存入MySQL

    为了学习机器学习深度学习和文本挖掘方面的知识,需要获取一定的数据,新浪微博的大量数据可以作为此次研究历程的对象 一.环境准备 python 2.7 scrapy框架的部署(可以查看上一篇博客的简要操作 ...

  8. 用scrapy框架写爬虫

    爬虫可以发送给引擎的两种请求: # 1.url:# (爬虫)yield scrapy.Request -> 引擎 -> 调度器(发送给调度器入队) -> 引擎(调度器出队请求于引擎) ...

  9. python爬虫之使用Scrapy框架编写爬虫

    转自:http://www.jb51.net/article/57183.htm 前面的文章我们介绍了Python爬虫框架Scrapy的安装与配置等基本资料,本文我们就来看看如何使用Scrapy框架方 ...

最新文章

  1. cmd10与16进制的相互转换
  2. PyTorch框架学习十三——优化器
  3. 程序员一定要提升技术之外的能力
  4. 荒岛余生最后一个包裹_从《荒岛余生》看上世纪九十年代美国社会主流价值观...
  5. java输出set中的元素_老师,为什么遍历Set集合里的元素,一直都是有序的输出呢?...
  6. 局域网服务器传输大文件方案,局域网快速传输大文件【操作方案】
  7. MySQL索引性能测试
  8. 如何用Java解压缩WAR文件
  9. 真香!java全栈工程师前景
  10. TFN系列超声波探伤仪为什么在众多品牌竞争中脱颖而出
  11. 智能时代“无人区”的开拓者,国防科大智能科学学院推免生源大起底
  12. table文字超出显示省略号
  13. 特征工程:归一化与标准化
  14. 汽车销量查询小助手(小程序)销量趋势图功能及代码知识分享
  15. 金蝶软件界面乱码及输入汉字时乱码的解决方案
  16. 第五章人间深情,公母为山
  17. 记u盘内文件变为.lnk处理方法
  18. pycharm初体验
  19. 小学生C++编程基础 课程6(共9题)
  20. 【信号处理】一种热电偶信号处理算法

热门文章

  1. leetcode算法题--二叉树的最近公共祖先
  2. OpenStack Neutron浅析(一)
  3. linux内核网络协议栈--接收流程及函数(九)
  4. DPDK 报文收发流程(二十五)
  5. leetcode算法题--反转链表★
  6. python图片转字符画
  7. pycharm配置python路径_pycharm如何配置python环境
  8. c 多文件全局变量_C/CPP : static 关键字 及 变量函数的不同
  9. nor flash 和nand flash 的区别
  10. 利用第三方工具在Unity中创建多人联网游戏