ITPub博客

首页 > 大数据 > 数据挖掘 > 动态换ip软件详解:带你走近分布式网络爬虫

动态换ip软件详解:带你走近分布式网络爬虫

原创 数据挖掘 作者:太阳小诸葛 时间:2019-01-04 16:15:13 0 删除 编辑

  分布式网络爬虫就是多台电脑上都安装网络爬虫程序,重点是联合采集。单机网络爬虫就是只在一台电脑上,叫做单机。前嗅的ForeSpider数据采集系统就有单机和网络服务器版,比如只在一台网络服务器上的网络爬虫,虽然开了多进程,但还是网络服务器单机的。但是假如在多个网络服务器上,而且可以协同采集,就是分布式的。

   分布式网络爬虫

  分布式网络爬虫可以分为若干个分布式层级,不同的应用可能由其中部分层级构成,下图是一个大型分布式网络爬虫的3个层级:分布式数据中心、分布式抓取网络服务器及分布式网络爬虫程序。整个网络爬虫系统由全球多个分布式数据中心共同构成,每一个数据中心负责抓取本地域周边的网站网页。

  

  每一个数据中心又由多台高速网络连接的抓取网络服务器构成,而每台网络服务器又可以部署多个网络爬虫程序。通过多层级的分布式网络爬虫体系,才可能保证抓取数据的及时性和全面性。

  对于同一数据中心的多台抓取网络服务器,不同机器之间的分工协同方式会有差异,常见的分布式架构有两种:主从式分布网络爬虫和对等式分布网络爬虫。

   主从式分布网络爬虫(Master-Slave)

  对于主从式分布网络爬虫,不同的网络服务器承担不同的角色分工,其中有一台专门负责对其他网络服务器提供URL分发服务,其他机器则进行实际的网页下载。URL网络服务器维护待抓取URL队列,并从中获得待抓取网页的URL,分配给不同的抓取网络服务器,另外还要对抓取网络服务器之间的工作进行负载均衡,使得各个网络服务器承担的工作量大致相等,不至于出现忙的过忙、闲的过闲的情形。抓取网络服务器之间没有通信联系,每一个抓取网络服务器只和URL网络服务器进行消息传递。

  

   对等式分布网络爬虫(Peer to Peer)

  在对等式分布网络爬虫体系中,网络服务器之间不存在分工差异,每台网络服务器承担相同的功能,各自负担一部分URL的抓取工作。

  

  由网络服务器自己来判断某个URL是否应该由自己来抓取,或者将这个URL传递给相应的网络服务器。至于采取的判断方法,则是对网址的主域名进行哈希计算,之后取模(即hash[域名]%m,这里的m对应网络服务器个数),假如计算所得的值和抓取网络服务器编号匹配,则自己下载该网页,否则将该网址转发给对应编号的抓取网络服务器。

  为了解决哈希取模的对等式分布网络爬虫存在的问题,UbiCrawler网络爬虫提出了改进方案,即放弃哈希取模方式,转而采用一致性哈希方法(Consisting Hash)来确定网络服务器的任务分工。

  


   对等式分布网络爬虫(一致性哈希)

  一致性哈希将网站的主域名进行哈希,映射为一个范围在0到232之间的某个数值,大量的网站主域名会被均匀地哈希到这个数值区间。将哈希值范围首尾相接,即认为数值0和最大值重合,这样可以将其看做有序的环状序列,从数值0开始,沿着环的顺时针方向,哈希值逐渐增大,直到环的结尾。而某个抓取网络服务器则负责这个环状序列的一个片段,即落在某个哈希取值范围内的URL都由该网络服务器负责下载。这样即可确定每台网络服务器的职责范围。

太阳换ip软件: 每天40万新鲜ip,稳健连接,网速损失小,海外也能用!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31561288/viewspace-2305534/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-11-07

  • 博文量
    44
  • 访问量
    44326