代理ip

>

换ip软件

>

http代理

>

ip代理

您的位置:首页 > 新闻资讯 > 文章内容
分布式爬虫使用代理IP的几种方案
来源:网连代理 作者:admin 时间:2019-10-26 15:20:12

  没有代理IP,爬虫工作将寸步难行,所以很多爬虫工程师都需要去选购高效稳定的代理IP。有了优质代理IP后,是不是就可以高枕无忧了呢?事情没有那么简单,还需要优化方案,合理分配资源,提高工作效率,更高效更快速更稳定的进行爬虫工作。


分布式爬虫使用代理IP的几种方案


  方案一、每个进程从接口API中随机取一个IP列表(比如一次提取100个IP)来循环使用,失败则再调用API获取,大概逻辑如下:


  1、每个进程(或线程),从接口随机取回一批IP回来,循环尝试IP列表去抓取数据;


  2、如果访问成功,则继续抓取下一条。


  3、如果失败了(比如超时、出现验证码等),再从接口取一批IP,继续尝试。


  方案缺点:每个IP都是有有效期的,如果提取了100个,当使用了第10个的时候,可能后面的大部分都失效了。如果你设置HTTP请求的时候连接时间超时为3秒,读取时间超时为5秒,那你将会有可能浪费3-8秒的时间,说不定这3-8秒已经可以抓取几十次了。


  方案二:每个进程从接口API中随机取一个IP来使用,失败则再调用API获取一个IP,大概逻辑如下:


  1、每个进程(或线程),从接口随机取回一个IP来,用这个IP去访问资源,


  2、如果访问成功,则继续抓下一条。


  3、如果失败了(比如超时、出现验证码等),再从接口随机取一个IP,继续尝试。


  方案缺点:调用API获取IP的行为非常频繁,会对代理服务器造成非常大的压力,影响API接口稳定,可能会被限制提取。这种方案也不适合,不能持久稳定的运行。


  方案三:先提取大量IP导入本地数据库,从数据库里面取IP,大概逻辑如下:


  1、在数据库里面建一个表,写一个导入脚本,每分钟请求多少次API(咨询代理IP服务商建议),把IP列表导入到数据库里面。


  2、在数据库里面记录好导入时间、IP、Port、过期时间、IP可用状态等字段;


  3、写一个抓取脚本,抓取脚本从数据库里面读取可用IP,每个进程从数据库获取一个IP进行使用。


  4、执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP,重新换一个IP。


  这种方案有效的避开了代理服务器资源的消耗,有效的分配代理IP的使用,更加的高效和稳定,保障了爬虫工作的持久性和稳定性。


相关文章内容简介
推荐阅读
  • 19 2019-07
    代理IP和VPN有什么区别

    许多人对于代理商IP和VPN一定会存有被误解,不清楚它们相互之间的不同之处是什么?更许多人觉得它们是一模一样的。这篇文章就来解答代理IP和vpn一模一样吗?代理IP和VPN有什么区别?

  • 10 2019-08
    代理IP可以帮哪些行业刷量

    网络发展迅速,现在很多数据都可以通过一些手段刷,数据增加也就容易被人看到,带来更多收益。用代理IP是刷数据的常见工具,那么,代理IP可以帮哪些行业刷量?1.排名。排名的前后是根据

  • 22 2019-08
    免费代理IP适用人群有哪些

    免费的东西向来令人趋之若鹜,哪怕这东西没有多大价值甚至毫无价值,“免费”两字本身就散发着令人着迷的魅力。今天要说的是免费代理IP,它有效率低,速度慢,极不稳定,但它的用户人

  • 10 2018-12
  • 11 2019-11
    怎样使用代理访问被屏蔽掉的网站

    怎样使用代理访问被屏蔽掉的网站?由于某些原因,中国电信把一些国外网站屏蔽掉了,所有国内用户不能访问,还有一些国外的网站禁止中国的IP访问,解决方法就是使用国外的代理服务器。

  • 15 2019-11
    爬虫为什么需要稳定代理IP

    爬虫为什么需要稳定代理IP?大数据高速发展时代,爬虫行业日益火爆,从业者如过江之鲫,数不胜数,说到爬虫就不得不提另外一个词:代理IP。爬虫虽然大行其道,但相应的反爬虫也步步紧