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

  分布式爬虫提取代理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利用,提高工作有效率。


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


相关文章内容简介
推荐阅读
  • 29 2020-02
    代理服务器是什么东西

    代理服务器(Proxy)是网络信息的中转站,比方说HTTP代理服务器。我们使用网络浏览器直接链接其他Internet站点并取得网络信息时,需送出Request信号来得到回答,然后对方再把信息传送回来。

  • 26 2019-04
    怎么设置Proxifier代理上网?

    怎么设置Proxifier代理上网?现在代理上网比较流行,但是有时候应用本身不支持使用代理,而又想使用代理上网,这时候怎么处理?可以使用Proxifier代理上网,怎么设置呢?

  • 24 2019-05
    动态代理IP刷阅读量能刷出爆文吗

    动态代理IP刷阅读量能刷出爆文吗?大家有时候看到百万爆文,其实这真实的阅读量也能没有那么多,那么这是怎么来的呢?这与网络爬虫有关于,互联网上过半的流量来自于爬虫,还有些都是

  • 25 2019-09
    如何使用代理IP抓取微信文章?

    微信拥有非常庞大的用户量,微信平台让自媒体这个行业成为了一门专门的职业,公众号每天产生了海量的文章,如果我们想要爬取这些文章数据,那么应该怎么执行呢?代理IP的使用是必不可少

  • 25 2020-08
    代理ip服务器分类

    代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。代理服务器就好象一个大的Cache,这样就能显著提高浏览速度和效率。更重要的

  • 12 2019-03
    如何应对网站的反爬虫?写爬虫的注意事项

    由于网站有多种反爬虫,因此这要求我们在写爬虫时,要注意各种可能会遇到的问题,否则我们的爬虫绕不过去,最终也就拿不到数据了,这样也就毫无意义了。

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

大客户经理微信

微信公众号

微信公众号

回到顶部