爬虫代理产品如何快速选择

公司长期需要采集数据,因此经常到找各种代理 IP 进行测试,由于代理行业鱼龙混杂,各种报价和包装,使得研发难以快速的找到性价比高的产品。因此将产品选择过程中的方法进行了整理以便大家参考:

市面上的产品按照使用方式分为两大类:

1、网页提取代理

网上名字有 API 提取代理、动态短效代理、动态混拨、优质代理等,通过 HTTP 请求 URL 提取文本,格式一般是 IP:PORT,也有一些是支持 JSON,这种产品适合程序提取之后存入队列,自建 IP 池做策略管理,需要进行存活检测、控制有效时间和线程锁定。

2、认证信息代理

网上名字有爬虫代理、动态转发代理、隧道代理等,是代理服务器自动转(隧道技术),通过配置固定代理域名、端口、用户名和密码直接使用,一般默认每个 HTTP 请求自动转发。有些产品是定时自动进行 IP 切换,在一个时间段内所有请求都是相同 IP 转发。

那么如何快速的选择产品呢,从几个方面作为考虑依据:

1、目标网站反爬难度

2、爬虫策略复杂程度

3、代理 IP 有效时间

4、部署是单机还是集群

参考上面的要点,推荐如下

网站反爬难度 爬虫策略 有效时间长短 单机还是集群 代理产品选择
较难 复杂 集群 网页提取代理
容易 简单 单机 认证信息代理

一般采集的网站反爬较多,爬虫程序需要控制 IP 策略,例如登录、数据采集需要相同 IP、控制 IP 访问频率、部署机器群进行数据采集等这些情况下推荐网页提取代理(又称 API 代理),因为提取之后的代理 IP,可以通过 IP 池的策略进行管理、分配和使用。

采集的网站反爬不多,那么建议认证信息代理(又称转发代理、爬虫代理、隧道代理),这种产品是自动实现 IP 切换和转发,爬虫程序只需要使用代理信息直接发送请求即可,使用快捷方便。

如果不清楚目标的网站反爬情况咋办呢?那就先测试认证信息代理,因为使用简单方便,部分代理厂家还会提供 demo,直接复制输入代理信息即可运行,观察爬虫采集情况,如果效果不理想,再调整爬虫策略或者更换代理产品。

如何快速测试找到适合的产品呢?

代理厂家将代理产品进行了各种包装,但是万变不离其宗,根据不同的产品重点关注几个方面:

1、网页提取代理

(1) 提取 IP 的单价

(2) IP 的有效时间

(3) HTTP 请求延迟

(4) 每秒并发

(5) 线路带宽

上面的几个参数一眼就能看明白对吧,肯定是选择价格低、有效时间长、延迟低、每秒并发高、线路带宽高的产品。但有趣的是代理厂家通过包装就能够鱼目混珠啦。以下是三个产品的介绍,大家选择看看那个性价比最好

A 产品 B 产品 C 产品
1、每 10 秒提取 5 个 2、有效时间 1-5 分钟 3、使用无上限 4、IP 白名单无限制 1、提取速度不限制 2、有效时间 1-5 分钟 3、每日上限 1000IP4、IP 白名单无限制 1、每 10 秒提取 5 个 2、有效时间 2-10 分钟 3、使用无上限 4、IP 白名单 1 个
日付 22 元 日付 5 元 日付 28 元

开始揭晓答案了:

大部分会选择 B 产品,因为价格最低,并且提取速度不限制,这个看起来就很好,但是这款产品是最贵的,因为每天 5 元只能提取 1000 个 IP,一个字贵,两个字用不起。

接下来应该选择 A,因为价格适中,并且使用无上限,还没有 IP 白名单的的限制,应该是最适合的吧。

说说 C 产品吧,一看去是最差的,因为价格最高、还限制 ip 白名单。

最后我们公司购买了 C 产品,还是年付合作,为啥会这样,我将结果选择过程整理如下:

B 产品首先淘汰,因为最贵,并且 IP 有效时间也不够长,相同成本下的采集量最低。

A 产品看起来很不错,但是这个价格和有效时间下,意味着可发出的请求和 IP 可用量比 C 产品减少 1 倍,性价比就差多了,但是 IP 白名单不限制这个很好,可以机器集群多开,这样算下来,多跑一台机器,性价比就回来了。因此我们开始也是选择 A 产品,然后进行测试,发现如果机器增加上去,根本就跑不动,带宽和并发都被限制了,请求延迟高达 1 秒以上、并发小于 10。

接下来是 C 代理了,由于有效时间长,因此可用 IP 及请求总量都是最好的,但是限制 IP 白名单呀,上线测试一下,请求延迟小于 300ms、并发超过 10 以上,采集速度很快,需要机器集群多开咋办?联系客服后每台机器增加一点带宽费用就可以了,算下来相同成本下,采集的数据量是最多的,看看这才是优秀的产品嘛。

通过上面的案例大家知道如何选择了吧。

1、认证信息代理

(1) HTTP 请求延迟

(2) 线路带宽

认证信息代理使用简单也是最容易入坑的,因为参数各家都差不多,一般都是按照每秒并发数进行报价,因此谁家便宜就用谁即可。但是采购经费和采集数量的对比,才能提现性价比。如果要量化对比,就是每秒并发价格与每秒采集数量,而这个参数需要靠请求的延迟和带宽情况测试才能确定。因此一定一定一定要运行测试程序统计代理参数,才能准确比较,而不是简单看报价。

因此采购这类产品的时候,我们直接用程序进行压力测试,按照每秒请求数、请求延迟时间、线路带宽进行综合评测,结合每秒并发报价,就可以选择性价比最高的产品。另外测试过程中还发生了一个有趣的事情,其中一家代理产品,竟然默认开启了数据缓存,对延迟时间造假,对于相同的请求,第一次 HTTP 请求延迟很高,接下来大量的请求延迟非常低(甚至低于服务器响应时间)的假象,如下图:

这种情况下会很容易让测试程序被骗,测试的时候采集速度很快,其实返回的都是缓存数据,真实线上运行的时候,速度就很慢,延迟也从 100ms 变成 1000ms 以上,同时还会干扰爬虫程序策略,因为目标网站反爬就是返回缓存数据,这样情况下没法判断是代理缓存还是被目前服务器缓存,太坑啦。

最后为了方便大家快速找到适合的产品,我这里提供一份测试程序,可以对代理 IP 进行延迟、并发的测试,支持网页提取代理和认证信息代理,有需要的可以发我私信。

本作品采用《CC 协议》,转载必须注明作者和本文链接