您的位置:首页 > 新闻资讯 >文章内容
分布式爬虫如何提取代理IP?
来源:互联网 作者:admin 时间:2019-12-18 09:59:50

  分布式爬虫提取代理IP用哪一种方式比较好?我们要怎么提取才能够按照自己的需求来合理使用代理IP呢?机灵代理下面来为大家带来讲解。


分布式爬虫如何提取代理IP


  一:每个线程单次获取一个IP列表

  每个进程从接口使用API链接中随机取一个IP列表,如单次通过api链接获取100ip使用,访问失败或者失效则再调用API获取。

  每次每个线程,通过api链接随机提取回一批IP回来,循环使用IP列表去爬取采集数据;

  如果访问成功,则继续抓取下一条。如果失败了(比如超时、出现验证码等),再从接口取一批IP,继续尝试。

  这种方式获取到的ip没有在最佳的时间里使用,因为每个ip有效存活期限的,如果单次获取100个ip,当您用到前50个ip时候,可能后面的全部失效的,当从获取到的ip就开始计时有效存活时间,ip在等待使用时已经开始慢慢再在失效了。造成了ip很大的浪费,没有在提取第一时间使用。


  二:每个线程单次获取一个IP

  每个进程从接口使用API链接中随机提取一个IP出来使用,如访问失败,无效则再调用API链接提取一个IP。

  每个线程,从接口通过api链接随机提取回一个IP出来,使用获取到的代理IP去访问资源,如果访问成功,则继续抓下一条。如果失败了(比如超时、出现验证码等),再从接口随机取一个IP,继续尝试。

  这种情况使用api链接频繁的调用API获取IP,会对代理服务器造成非常大的压力,影响API链接的稳定性,也有可能因频繁调用会被误以为遭受到攻击,api链接会被限制获取。所以这种方式不建议大家使用。


  三:获取到的IP导入本地数据库

  首先通过api链接提取出大量IP导入本地数据库,再从数据库里面提取ip,在数据库里面建一个表,写一个导入脚本,调用api链接间隔时间是多少,这个间隔时间可在购买代理ip的服务平台注明或者客服告知,然后将提取到的IP列表导入到数据库里面。在数据库里面记录好 导入时间、IP、Port、过期时间、IP可用状态 等字段;写一个抓取脚本,抓取脚本从数据库里面读取可用IP,每个进程从数据库获取一个IP进行使用。执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP,重新换一个IP。


  综上分析得出来得结论,第三种方法是我们分布式爬虫获取代理ip最佳的方式:

  1、可以避开频繁调用api链接获取ip,防止api链接提取收限制,增加提取的稳定性,减少服务器的压力。

  2、可以在ip最佳的有效时间中使用,减少大量的ip浪费,更好的ip利用,提高工作有效率。


  以上,虽然分布式爬虫提取代理的方式有很多,但是为了最优化使用,这里推荐大家使用第三种更合适。


相关文章内容简介
推荐阅读
  • 01 2019-08
    不用代理ip可以爬数据吗?

    不用代理ip可以爬数据吗?爬虫作为快速爬取的程序,很多人都是会帮爬虫加上代理ip的,这需要加上不少的成本,那么能不能不用代理ip呢?

  • 04 2019-07
    找个能用的高匿名IP代理

    找个能用的高匿名IP代理,网上很多不能用的免费IP代理,而且很多都是透明的,或者普通匿名的,效果不好,需要找个能用的高匿名IP代理。

  • 21 2019-09
    代理IP教你爬虫如何进行Excel的储存与读取

    基础爬虫在代理IP的帮助之下,一些小型的项目是可以没有压力轻松开展的,但是python编程语言还是需要进行学习才能帮助我们在遇到不同的情况,去做正确的调试操作。所以一些爬虫的技巧学

  • 23 2019-03
    爬虫代理IP选择,使用动态转发代理更可靠

    虽然说大数据的应用很多时候都没有保护好用户的信息,但大部分的企业依然都会使用到爬虫来获取很多的数据,即使有限制,也一样可以利用代理IP来突破的,无非就是要花些成本,找个好用

  • 18 2019-04
    偶像信息怎么利用代理IP进行采集?

    大部分代理IP,其实都是拿来进行信息的采集,那么偶像信息怎么利用代理IP进行采集?你会因为一首歌,一部电影,一个角色而喜欢一个偶像。因为喜欢他,所以想了解他很多东西。作为爬虫

  • 24 2019-05
    代理服务器的透明与非透明

    代理服务器的透明与非透明,你们是怎么看的?很多人使用代理服务器其实都没有怎么去了解,可能也就大概的知道代理服务器可以充当中间人,为我们获取到信息,其他的可能就不知道了。

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

大客户经理微信

微信公众号

微信公众号

回到顶部