换ip软件,代理ip软件,更改ip地址-智游代理
您的位置: 首页 > 新闻资讯 > 爬虫代理 > 正文

分布式爬虫代理IP有什么解决方案

发布时间:2018年10月13日 来源:本站

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

 

方案一、每个进程从接口API中随机取一个IP列表(比如一次提取100IP)来循环使用,失败则再调用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、在数据库里面记录好:导入时间、IPPort、过期时间、IP可用状态 等字段;

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

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

 

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

按字母排序文章

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

相关文章内容简介

1 爬虫所需要的代理IP究竟是啥

在爬取某些网站时,我们经常会设置代理IP来避免爬虫程序被封。我们获取代理 IP 地址方式通常提取国内的知名 IP 代理商(如西刺代理,快代理,无忧代理等)的免费代理。这些代理商一般都会提供透明代理,匿名代理,高匿代理。那么这几种代理的区别是什么?我们该如何选择呢?本文的主要内容是讲解各种代理 IP 背后的原理。1 代理类型代理类型一共能分为四种。除了前面提到的透明代理,匿名代理,高匿代理,还有混淆代理。从安全程度来说,这四种代理类型的排序是 高匿 > 混淆 > 匿名 > 透明。2 代理原理代理类型主要取决于代理服务器端的配置。不同配置会形成不同的代理类型。在配置中,这三个变量 REMOTE_ADDR,HTTP_VIA,HTTP_X_FORWARDED_FOR 是决定性因素。1) REMOTE_ADDRREMOTE_ADDR 表示客户端的 IP,但是它的值不是由客户端提供的,而是服务器根据客户端的 IP 指定的。如果使用浏览器直接访问某个网站,那么网站的 web 服务器(Nginx、Apache等)就会把 REMOTE_ADDR ... [阅读全文]

2 为什么爬虫需要代理IP?

在爬虫的过程中,我们经常会遇见很多网站采取了防爬取技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力,所以你一直用同一个代理IP爬取这个网页,很有可能IP会被禁止访问网页,所以基本上做爬虫的都躲不过去IP的问题,需要很多的IP来实现自己IP地址的不停切换,达到正常抓取信息的目的。通常情况下,爬虫用户自己是没有能力去自己维护服务器或者是自己搞定代理ip的问题的,一来是因为技术含量太高,二来是因为成本太高当然,也有很多人会在网上放一些免费的代理ip,但是从实用性、稳定性以及安全性来考虑,不推荐大家使用免费的ip。因为网上公布的代理ip不一定是可用的,很可能你在使用过程中会发现ip不可用或者已失效的情况。所以现在市面上很多代理服务器应运而生,基本上都能给你提供代理ip的服务。现在,爬虫程序怎么样安全躲避防爬程序,可以说是一个很普遍的需求了。做网络爬虫时,一般对代理IP的需求量比较大。因为在爬取网站信息的过程中,很多网站做了反爬虫策略,可能会对每个IP做频次控制。这样我们在爬取网站时就需要很多代理IP。代理IP的获取,可以... [阅读全文]

热门标签