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

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

  分布式网络爬虫

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

太阳换ip软件:每天40万新鲜ip,稳健连接,网速损失小,海外也能用!
诚招代理:提供各项×××福利,加入共赢,当老板!走向人生巅峰!
×××联系:852719561(QQ及微信)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章