zoukankan      html  css  js  c++  java
  • 分布式爬虫系统

    分布式爬虫系统

    一、架构

    二、原理

       1.分布式原理:

        利用scrapy-redis实现分布式,利用主从模式,把自己核心服务器称为master,用于跑爬虫程序的机器称为slave。我们知道,采用scrapy框架抓取网页,需要首先给定一些start_urls,爬虫首先访问start_urls里面的url,再根据具体逻辑对里面的元素、或者其他二级、三级页面进行抓取。而要实现分布式,需要在start_urls里面做文章。

        在master上搭建一个redis数据库(这个数据库只用于url的存储,不用于存储数据),并对每一个需要爬取的网站类型,都开辟一个单独的列表字段。通过设置slave上scrapy-redis获取url的地址为master地址。这样的设置就是,尽管有多个slave,然而获取url的地方只有一个,那就是服务器master上的redis数据库。

        并且,由于scarpy-redis自身的队列机制,slave获取链接不会相互冲突。这样各个slave在完成抓取任务之后,再把获取的结构汇总到服务器上(这时获取的数据不在是redis,而是mongodb、mysql)

  • 相关阅读:
    forEach
    Apache localhost和局域网ip地址访问
    数据库基础知识(必读)
    设计模式其他常见面试题
    设计模式学习
    简历书写注意事项
    计算机网络常见面试题二
    计算机网络常见面试题一
    分布式系统中的CAP 理论
    多线程常见面试题一
  • 原文地址:https://www.cnblogs.com/guozepingboke/p/10795158.html
Copyright © 2011-2022 走看看