您的位置:首页 > 新闻资讯 >文章内容
scrapy-redis分布式爬虫的基础组成
来源:互联网 作者:admin 时间:2019-02-02 09:09:00

    大数据时代下,人类社会的数据正以前所未有的速度增长,传统的获取数据的方式如问卷调查、访谈法等,其样本容量小、信度低、且受经费和地域范围所限,因而收集的数据往往无法客观反映研究对象,有着较大的局限性。于是许多企业都使用爬虫来获取到大量的信息,并通过分析挖掘出有价值的信息。


    但如今,信息量如此之大,如何获取大量的数据呢?可以使用分布式爬虫,今天小编给大家介绍下scrapy-redis分布式爬虫的基础组成


scrapy-redis分布式爬虫的基础组成


    1.scrapy_redis


    scrapy-redis是为了更方便地实现scrapy分布式爬取,而提供了一些以redis数据库为基础的组件。


    scrapy-redis提供了维持待爬取url的去重以及储存requests的指纹验证。原理是:redis维持一个共同的url队列,各个不同机器上的爬虫程序获取到的url都保存在redis的url队列,各个爬虫都从redis的url队列获取url,并把数据统一保存在同一个数据库里面。


    2.消息队列


    MQ全称为MessageQueue,是一种分布式应用程序的的通信方法,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。


    它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可以读取或者订阅队列中的消息。


    消息生产者只管把消息发布到MQ中而不用管谁来取,消息消费者只管从MQ中取消息而不管是谁发布的。


    3.RabbitMQ


    RabbitMQ是MQ产品的典型代表,是一款基于AMQP协议可复用的企业消息系统。业务上,可以实现服务提供者和消费者之间的数据解耦,提供高可用性的消息传输机制,在实际生产中应用相当广泛。


    4.scrapy_rabbitmq分布式


    Scrapy-rabbitmq-link是可以让你从RabbitMQ消息队列中取到URL并且分发给Scrapyspiders的组件。


    5.celery初步


    Celery用消息通信,通常使用中间人(Broker)在客户端和程序间斡旋。这个过程从客户端向队列添加消息开始,之后中间人把消息派送给程序。


    上文介绍了scrapy-redis分布式爬虫的基础组成,scrapy-redis的分布式系统,用于分布式爬虫URL队列的存储和去重队列的存储。当然,对于更大型的爬虫系统,或者对于非scrapy框架的爬虫,可以选择其它的方案替代scrapy和scrapy-redis,比如可以使用RabbitMQ消息队列代替Redis。


相关文章内容简介
推荐阅读
  • 01 2019-08
    不限量动态IP最实惠!

    不限量动态IP最实惠!最近有朋友需要代理IP池联系上我,当他得知我们没有按IP量购买方式后表示很遗憾,然后向我说明按量购买方式是多么的科学,多么的合理,用多少就买多少,想什么时候

  • 19 2019-02
    post请求和get请求有什么区别

    http协议是非常常见的,我们平常打开网页访问都是使用http请求的,http请求的方法比较多种,其中经常用到post请求和get请求,那么这两种请求有什么区别呢?使用哪种请求比较好?

  • 09 2019-08
    代理IP防止帐号被封,解决IP地址经常被封的问题

    代理IP防止帐号被封,解决IP地址经常被封的问题。毕竟现在越来越多的人已经学会使用了网络,它已经成为了我们生活中不可替代的工具。所以现在就出现了很多IP限制变严格的情况,如果使用

  • 04 2020-06
    代理ip小知识大全

    国内ip修改技术得到了很多人的关注,这是因为代理ip平台的技术改良,让更多用户可以方便的使用到换ip软件。机灵代理作为国内专业的代理ip服务商,持续为大家带来ip小知识。

  • 20 2019-03
    高效的分布式网络爬虫使用代理IP如虎添翼

    现在网络爬虫几乎是每个程序员的必备技能,在他们的眼中“一切皆可盘”。通常情况下,Python凭借优秀的性能优势更受到程序员的喜爱,一个强大的分布式网络爬虫,能够每秒可以访问几十万

  • 05 2019-07
    国内最好的爬虫代理有什么特点?

    国内最好的爬虫代理有什么特点?网络爬虫想要快速的完成要采集的数据,爬虫代理是少不了的,有了爬虫代理,能够突破网站的访问频率限制,速度是蹭蹭上涨的。

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部