您的位置:首页 > 新闻资讯 >文章内容
分布式ip代理池怎么搭建?
来源:互联网 作者:admin 时间:2019-07-20 09:41:00

    分布式ip代理池怎么搭建?爬虫程序的正常运行,这是需要大量的ip资源来维持的,如果没有这些ip资源,也就是ip代理池,爬虫程序将要停止工作或者极大的降低抓取的速度,因此ip代理池是非常的重要的。那么分布式ip代理池怎么搭建呢?我们一起来看看:


    架构设计


    这篇文章的目的是阐述haipproxy的主要架构和流程。该项目模块是


    基于Scrapy和Redis的分布式网络爬虫,用作IP爬取和校验,对应于项目的crawler


    基于Redis实现的分布式任务调度工具,对应于项目的scheduler和redis_util.py


    Crawler分为代理爬取和校验,两者实现思想类似,主要使用Scrapy的spider_idle信号和DontCloseSpider异常来阻止Scrapy在没有数据的时候关闭,灵感来自scrapy-redis(https://github.com/rmax/scrapy-redis)。


    启动调度器,包括代理网络爬虫调度器和校验网络爬虫调度器。调度器会读取rules.py中待爬取的网站,将其编排成任务存入各个任务队列中


分布式ip代理池怎么搭建?


    启动各个网络爬虫,包括IP爬取和校验程序。项目中网络爬虫和调度器都是高可用的,还可以根据实际情况进行分布式部署,无需改动代码。由于本文的目标不是写成该项目的详细使用文档,所以省略了如指定启动网络爬虫类型和调度器类型的介绍


    代理IP采集网络爬虫启动后会到对应的任务队列中获取任务并执行,再把获取到的结果存入一个init队列中


    init队列由一个特殊的校验器HttpbinInitValidator进行消费,它会过滤掉透明代理,再把可用代理输入各个Validated队列中


    调度器会定时从Validated队列中获取代理IP,再将其存入一个临时的队列。这里用一个临时队列是为了让校验更加公平,如果直接从Validated队列中获取资源进行校验,那么会增大不公平性


    这时候各个校验器(非init校验器)会从对应的临时队列中获取待校验的IP并对其进行校验,此处省略校验细节


    校验完成后再将其放回到Validated队列中,等待下一轮校验


    请求成功率(体现为分数)、响应速度和最近校验时间满足settings.py所配置要求的代理IP将会被网络爬虫客户端所消费


    为了屏蔽各个调用语言的差异性,目前实现的客户端是squid客户端,它还可以作为网络爬虫客户端的中间件


    到此,分布式ip代理池怎么搭建的整个流程便完了,大家可以参考下的。


相关文章内容简介
推荐阅读
  • 27 2019-03
    IP购买的价格是怎样计算的?

    现在各大网站服务商在推出扩展性服务器时,最优势的就是这些IP地址是可以购买的,其够买的价格也是非常合理的,如果大家有需要的话就可以直接与服务商进行沟通,他们会根据你需要的IP

  • 14 2019-03
    为了保证安全,推荐使用HTTPS协议的代理

    很多因素都会影响网络爬虫的爬取,若是数据没有伪装好,这是必然会导致系统检测到问题,为了安全起见,网络爬虫应该怎么做?

  • 23 2019-08
    用了代理IP 真实IP还是能被查到?

    为什么明明用了代理IP,IP地址还是能够被别人查到呢?你有可能使用的普通匿名代理,通过一定的解密,不法黑客以及犯罪份子就可以进行破解,盗取你的个人信息加以利用。

  • 15 2020-06
    HTTP代理怎么选择使用

    HTTP代理在人们工作生活中的出现以及应用越来越频繁,很多普通人也开始接触到HTTP代理,但是在HTTP代理的选择和应用上可能有些方面还不是很明白,因此在这里对一些大家可能经常接触到的名

  • 08 2019-04
    爬虫都要使用动态代理ip吗?Java分布式爬虫Nutch呢?

    开始学爬虫之时,最先接触的是简单的爬虫,随着学习的深入,慢慢开始接触分布式爬虫。我们使用分布式爬虫主要是为了加大数据的爬取,也就是大批量URL管理。

  • 17 2019-07
    怎么判断http代理ip有问题?

    怎么判断http代理ip有问题?当遇上http代理ip连接不上,或者出错,或者突破不了ip限制时,大家的第一反应肯定是这个http代理ip有问题的。但真的是这个原因吗?我们来看看:

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

大客户经理微信

微信公众号

微信公众号

回到顶部