当前位置:坚果ip > 资讯中心
分布式爬虫如何获取代理ip??
发表日期:2021-04-15
分布式爬虫如何获取代理ip软件?分布式爬虫提取代理的方式有很多,有的使用白名单授权绑定api链接提取,有的使用账号+密码授权,根据个人的习惯和需求,编写程序代码领用提取方式自动提取代理ip软件使用,提取的方式有很多种,如何根据自己的需求有效最大化的使用代理ip软件

一:每个线程单次获取一个ip;每个进程从接口使用API链接中随机提取一个IP出来使用,如访问失败,无效则再调用API链接提取一个IP。每个线程,从接口通过api链接随机提取回一个IP出来,使用获取到的代理ip软件去访问资源,如果访问成功,则继续抓下一条。如果失败了(比如超时、出现验证码等),再从接口随机取一个IP,继续尝试。这种情况使用api链接频繁的调用API获取IP,会对代理服务器造成非常大的压力,影响API链接的稳定性,也有可能因频繁调用会被误以为遭受到攻击,api链接会被限制获取。所以这种方式不建议大家使用。

二:每个线程单次获取一个ip列表;每个进程从接口使用API链接中随机取一个IP列表,如单次通过api链接获取100ip使用,访问失败或者失效则再调用API获取。每次每个线程,通过api链接随机提取回一批IP回来,循环使用IP列表去爬取采集数据;如果访问成功,则继续抓取下一条。代理ip软件如果失败了(比如超时、出现验证码等),再从接口取一批IP,继续尝试。这种方式获取到的ip没有在最佳的时间里使用,因为每个ip有效存活期限的,如果单次获取100个ip,当您用到前50个ip时候,可能后面的全部失效的,当从获取到的ip就开始计时有效存活时间,ip在等待使用时已经开始慢慢再在失效了。造成了ip很大的浪费,没有在提取第一时间使用。

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

    请按住滑块,拖动到最右边

    我已仔细阅读并接受《用户注册协议》
    用户名不能为空
    确定
    忘记密码
    手机号不能为空
    确定

    线