前言
随着大数据时代的到来,爬虫已经成了获取数据的必不可少的方式,做过爬虫的想必都深有体会,爬取的时候莫名其妙 IP 就被网站封掉了,毕竟各大网站也不想自己的数据被轻易地爬走。 对于爬虫来说,为了解决封禁 IP 的问题,一个有效的方式就是使用代理,使用代理之后可以让爬虫伪装自己的真实 IP,如果使用大量的随机的代理进行爬取,那么网站就不知道是我们的爬虫一直在爬取了,这样就有效地解决了反爬的问题。 那么问题来了,使用什么代理好呢?这里指的代理一般是 HTTP 代理,主要用于数据爬取。现在打开搜索引擎一搜 HTTP 代理,免费的、付费的太多太多品牌,我们该如何选择呢?看完这一篇文章,想必你心中就有了答案。 对于免费代理,其实想都不用想了,可用率能超过 10% 就已经是谢天谢地了。真正靠谱的代理还是需要花钱买的,那这么多家到底哪家可用率高?哪家响应速度快?哪家比较稳定?哪家性价比比较高?为此,我对市面上比较流行的多家付费代理针对可用率、爬取速度、爬取稳定性、价格、安全性、请求限制等做了详细的评测,让我们来一起看一下到底哪家更强!
测评范围
免费代理
在这里我主要测试的是付费代理,免费代理可用率太低,几乎不会超过 10%,但为了作为对比,我选取了西刺免费代理进行了测试。
付费代理
付费代理我选取了站大爷、芝麻 HTTP 代理、太阳 HTTP 代理、讯代理、快代理、蘑菇代理、阿布云代理、全网代理、云代理、大象代理、多贝云进行了对比评测,购买了他们的各个不同级别的套餐使用同样的网络环境进行了测评,详情如下:
代理商家 | 套餐类型 | 官方网站 |
---|---|---|
芝麻 HTTP 代理 | 默认版 | http://h.zhimaruanjian.com |
阿布云代理 | 专业版 | https://www.abuyun.com |
动态版 | ||
经典版 | ||
大象代理 | 个人版 | http://www.daxiangdaili.com |
专业版 | ||
企业版 | ||
全网代理 | 普通版 | http://www.goubanjia.com |
动态版 | ||
快代理 | 开放代理 | https://www.kuaidaili.com |
私密代理 | ||
独享代理 | ||
蘑菇代理 | 默认版 | http://www.mogumiao.com |
太阳 HTTP 代理 | 默认版 | http://http.taiyangruanjian.com |
讯代理 | 优质代理 | http://www.xdaili.cn |
混播代理 | ||
独享代理 | ||
云代理 | VIP 套餐 | http://www.ip3366.net |
站大爷代理 | 普通代理 | http://ip.zdaye.com |
短效优质代理 |
注:其中蘑菇代理、太阳 HTTP 代理、芝麻 HTTP 代理的默认版表示此网站只有这一种代理,不同套餐仅是时长区别,代理质量没有差别。 嗯,我把上面的套餐全部买了一遍,以供下面的评测使用。
测评目标
本次测评主要分析代理的可用率、响应速度、稳定性、价格、安全性、使用频率等因素,下面我们来一一进行说明。
可用率
可用率就是提取的这些代理中可以正常使用的比率。假如我们无法使用这个代理请求某个网站或者访问超时,那么就代表这个代理不可用,在这里我的测试样本大小为 500,即提取 500 个代理,看看里面可用的比率多少。
响应速度
响应速度可以用耗费时间来衡量,即计算使用这个代理请求网站一直到得到响应所耗费的时间。时间越短,证明代理的响应速度越快,这里同样是 500 个样本,计算时只对正常可用的代理做统计,计算耗费时间的平均值。
稳定性
由于爬虫时我们需要使用大量代理,如果一个代理响应速度特别快,很快就能得到响应,而下一次请求使用的代理响应速度特别慢,等了三十秒才得到响应,那势必会影响爬取效率,所以我们需要看下商家提供的这些代理稳定性怎样,总不能这一个特别快,下一个又慢的不行。所以这里我们需要统计一下耗费时间的方差,方差越大,证明稳定性越差。
价格
价格,这个当然是需要考虑的内容,如果一个代理不论是响应速度还是稳定性都特别不错,但是价格非常非常高,这也是不可接受的。
安全性
这的确也是需要考虑的因素,比如一旦不小心把代理提取的 API 泄露出去了,别人就肆意使用我们的 API 提取代理使用,而一直耗费的是我们的套餐。另外一旦别人通过某些手段获取了我们的代理列表,而这些代理是没有安全验证的,这也会导致别人偷偷使用我们的代理。在生产环境上,这方面尤其需要注意。
使用频率
有些代理套餐在 API 调用提取代理时有频率限制,有的代理套餐则会限制请求频率,这些因素都会或多或少影响爬虫的效率,这部分因素我们也需要考虑进来。
测评标准
要做标准的测评,那就必须在标准的测评环境下进行,且尽可能排除一些杂项的干扰,如网络波动、传输延迟等一系列的影响。
主机选取
由于我的个人笔记本是使用 WiFi 上网的,所以可能会有网络波动,而且实际带宽其实并不太好把控,因此它并不适合来做标准评测使用。评测需要在一个网络稳定的条件下进行,而且多个代理的评测环境必须相同,在此我选择了一台腾讯云主机作为测试,主机配置如下:
参数名 | 参数值 |
---|---|
操作系统 | Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-53-generic x86_64) |
带宽 | 5 Mbps |
核心数 | 2 |
内存 | 4GB |
Python 版本 | 3.5.2 |
这样我们就可以保证一个标准统一的测试环境了。
现取现测
另外在评测时还需要遵循一个原则,那就是现取现测,即取一个测一个。现在很多付费代理网站都提供了 API 接口,我们可以一次性提取多个代理,但是这样会导致一个问题,每个代理在提取出来的时候,商家是会尽量保证它的可用性的,但过一段时间,这个代理可能就不好用了,所以假如我们一次性提取出来了 100 个代理,但是这 100 个代理并没有同时参与测试,后面的代理就会经历一个的等待期,过一段时间再测这些代理的话,肯定会影响后半部分代理的有效性,所以这里我们将提取的数量统一设置成 1,即请求一次接口获取一个代理,然后立即进行测试,这样可以保证测试的公平性,排除了不同代理有效期的干扰。
时间计算
由于我们有一项是测试代理的响应速度,所以我们需要计算程序请求之前和得到响应之后的时间差,这里我们使用的测试 Python 库是 requests,所以我们就计算发起请求和得到响应之间的时间差即可,时间计算方法如下所示:
1 |
start_time = time.time() |
这里 used_time 就是使用代理请求的耗时,这样测试的就仅仅是发起请求到得到响应的时间。
测试链接
测试时我们也需要使用一个稳定的且没有反爬虫的链接,这样可以排除服务器的干扰,这里我们使用百度来作为测试目标。
超时限制
在测试时免不了的会遇到代理请求超时的问题,所以这里我们也需要统一一个超时时间,这里设置为 60 秒,如果使用代理请求百度,60 秒还没有得到响应,那就视为该代理无效。
测试数量
要做测评,那么样本不能太小,如只有十几次测试是不能轻易下结论的,这里我选取了一个适中的测评数量 500,即每个套餐获取 500 个代理进行测试。
测评过程
嗯,测评过程这边主要说一下测评的代码逻辑,首先测的时候是取一个测一个的,所以这里定义了一个 test_proxy() 方法:
1 |
test_url = 'https://www.baidu.com/' |
这里需要传入一个参数 proxy,代表一个代理,即 IP 加端口组成的代理,然后这里使用了 requests 的 proxies 参数传递给 get() 方法。对于代理无效的检测,这里判断了 | ProxyError, ConnectTimeout, SSLError, ReadTimeout, ConnectionError 这几种异常,如果发生了这些异常统统视为代理无效,返回错误。如果在 timeout 60 秒内得到了响应,那么就计算其耗费时间并返回。 在主程序里,就是获取 API 然后统计结果了,代码如下:
1 |
max = 500 |
这里加了一些判断,如 is_proxy() 方法判断了获取的是不是符合有效的代理规则,即判断它是不是 IP 加端口的形式,这样可以排除 API 返回一些错误信息的干扰。另外这里设置了 total_count 和 valid_count 变量,只有符合代理规则的代理参与了测试,这样才算一次有效测试,total_count 加一,如果测试可用,那么 valid_count 加一并记录耗费时间。最后调用了 stats_results 方法进行了统计:
1 |
import numpy as np |
这里使用了 Numpy 来统计了耗费时间的均值和方差,分别反映代理的响应速度和稳定性。 嗯,就这样,利用这个方法我对各个不同的代理套餐逐一进行了测试。
测评结果
经过测评,初步得到如下统计结果:
代理商家 | 套餐类型 | 测试次数 | 有效次数 | 可用率 | 响应时间均值 | 响应时间方差 |
---|---|---|---|---|---|---|
芝麻 HTTP 代理 | 默认版 | 500 | 495 | 99.00% | 0.916853 | 1.331989 |
阿布云代理 | 专业版 | 500 | 452 | 90.40% | 0.68770707 | 1.1477163 |
动态版 | 500 | 494 | 98.80% | 1.83994 | 6.0491614 | |
经典版 | 500 | 499 | 99.80% | 0.49301904 | 0.25724468 | |
大象代理 | 个人版 | 500 | 238 | 47.60% | 5.340489 | 78.56444 |
专业版 | 500 | 284 | 56.80% | 6.87078 | 105.7984 | |
企业版 | 500 | 259 | 51.80% | 6.3081837 | 121.08402 | |
全网代理 | 普通版 | 500 | 220 | 44.00% | 5.584057 | 47.442596 |
动态版 | 500 | 485 | 97.00% | 2.776973 | 17.568045 | |
快代理 | 开放代理 | 500 | 178 | 35.60% | 16.636587 | 221.69661 |
私密代理 | 500 | 495 | 99.00% | 1.2044522 | 3.72582 | |
独享代理 | 500 | 497 | 99.40% | 0.5435687 | 2.27832 | |
蘑菇代理 | 默认版 | 500 | 497 | 99.40% | 1.0985725 | 9.532586 |
太阳 HTTP 代理 | 默认版 | 500 | 400 | 80.00% | 1.2522483 | 12.662229 |
讯代理 | 优质代理 | 500 | 495 | 99.00% | 1.0512681 | 6.4247565 |
混播代理 | 500 | 494 | 98.80% | 1.0664985 | 6.451699 | |
独享代理 | 500 | 500 | 100% | 0.7056521 | 0.35416448 | |
云代理 | VIP 套餐 | 500 | 489 | 97.80% | 3.4216988 | 38.120296 |
站大爷代理 | 普通代理 | 500 | 92 | 18.40% | 5.067193 | 66.12128 |
短效优质代理 | 500 | 488 | 97.60% | 1.5625348 | 8.121197 | |
西刺代理 | 免费 | 500 | 31 | 6.2% | 9.712833 | 95.09569 |
注:
- 表中的响应时间方差越大,代表稳定性越低。
- 阿布云代理经典版方差较小是因为它是长时间锁定了同一个 IP,因此极其稳定,但每秒最大请求默认 5 次。
- 多贝云代理套餐一二方差较小是因为它是长时间锁定了同一个 IP,因此极其稳定,但每秒最大请求默认 20 次。
测评分析
下面我们将从各个方面分析一下各个套餐的优劣。
可用率
通过可用率统计,我们可以发现可用率较高的代理套餐有:
级别 | 套餐 | 描述 |
---|---|---|
第一梯队 | 讯代理独享代理、阿布云代理经典版、快代理私密代理、蘑菇代理、芝麻 HTTP 代理、快代理独享代理、讯代理优质代理 | 可用率 99% 以上 |
第二梯队 | 阿布云代理动态版、讯代理混播代理、云代理、站大爷短效优质代理、全网代理动态版、阿布云代理专业版 | 可用率 99% 以下,90% 以上 |
第三梯队 | 太阳 HTTP 代理、大象代理专业版、大象代理企业版 | 可用率 90% 以下,50% 以上 |
第四梯队 | 大象代理个人版、全网代理普通版、快代理开放代理 | 可用率 50% 以下,20% 以上 |
第五梯队 | 站大爷普通代理、西刺代理 | 可用率 20% 以下 |
响应速度
通过平均响应速度判别,我们可以发现响应速度较快的代理套餐有:
级别 | 套餐 | 描述 |
---|---|---|
第一梯队 | 阿布云代理经典版、阿布云代理专业版、快代理私密代理、讯代理独享代理、芝麻 HTTP 代理 | 响应时间 1s 以内 |
第二梯队 | 讯代理优质代理、快代理独享代理、讯代理混播代理、蘑菇代理、太阳代理、站大爷短效优质代理、阿布云代理动态版 | 响应时间 1s 以上,2s 以内 |
第三梯队 | 全网代理动态版、云代理 | 响应时间 2s 以上,5s 以内 |
第四梯队 | 站大爷普通代理、大象代理个人版、全网代理普通版、大象代理企业版、大象代理专业版、西刺代理 | 响应时间 5s 以上,10s 以内 |
第五梯队 | 快代理开放代理 | 响应时间 10s 以上 |
稳定性
通过平均响应速度方差分析,我们可以发现稳定性较高的代理套餐有:
级别 | 套餐 | 描述 |
---|---|---|
第一梯队 | 阿布云代理经典版、讯代理独享代理、快代理私密代理、阿布云代理专业版、芝麻 HTTP 代理 | 方差 3 以内 |
第二梯队 | 快代理独享代理、阿布云代理动态版、讯代理优质代理、讯代理混播代理、站大爷短效优质代理、蘑菇代理 | 方差 10 以内,3 以上 |
第三梯队 | 太阳HTTP代理、全网代理动态版、云代理、全网代理普通版、站大爷普通代理、大象代理个人版、西刺代理 | 方差 100 以内,10 以上 |
第四梯队 | 大象代理专业版、大象代理企业版、快代理开放代理 | 方差 100 以上 |
价格
我们可以看一下各个套餐的价格:
代理商家 | 套餐类型 | 价格描述 | 价格 URL | 备注 |
---|---|---|---|---|
芝麻 HTTP 代理 | 默认版 | ¥98/周 ¥360/月 | http://h.zhimaruanjian.com/newrecharge/ | 另有包量套餐、长效 IP 套餐可选购,定期有优惠活动,可领免费 IP,可免费试用 |
阿布云代理 | 专业版 | ¥1/时 ¥16/天 ¥108/周 ¥429/月 | https://www.abuyun.com/ | 每秒请求只有5个,多加每秒请求1个需要 1¥0.5/月,¥90 /年 |
动态版 | ¥1/时 ¥16/天 ¥108/周 ¥429/月 | |||
经典版 | ¥1/时 ¥16/天 ¥108/周 ¥429/月 | |||
大象代理 | 个人版 | ¥9/天 ¥98/月 | http://www.daxiangdaili.com/ | 好评可送时长 |
专业版 | ¥19/天 ¥198/月 | |||
企业版 | ¥49/天 ¥498/月 | |||
全网代理 | 普通版 | ¥9/天 ¥35/周 ¥93/月 ¥500/年 | http://www.goubanjia.com/buy/high.shtml | |
动态版 | ¥10/天 ¥160/月 ¥1250/年 | http://www.goubanjia.com/buy/dynamic.shtml | ||
快代理 | 开放代理 | ¥20/天 ¥60/周 ¥200/月 ¥2000/年 | https://www.kuaidaili.com/pricing | 有普通、VIP、SVIP、专业版可选 |
独享代理 | ¥8/天 ¥32/周 ¥80/月 | |||
私密代理 | ¥48/天 ¥240/周 ¥720/月 | |||
蘑菇代理 | 默认版 | ¥6/天 ¥169/月 ¥1699/年 | http://www.mogumiao.com/buy | 另有包量套餐可选购,可免费试用 |
太阳 HTTP 代理 | 默认版 | ¥60/周 ¥198/月 ¥498/季 ¥1590/年 | http://http.taiyangruanjian.com/newrecharge/ | 另有保量套餐可选购,可领免费 IP,可免费试用 |
讯代理 | 优质代理 | ¥9/天 ¥210/月 ¥2100/年 | http://www.xdaili.cn/buyproxy | 可免费试用 |
混播代理 | ¥29/天 ¥729/月 ¥6999/年 | |||
独享代理 | ¥9/天 ¥210/月 ¥2100/年 | |||
云代理 | VIP 套餐 | ¥10/天 ¥120/月 ¥599/年 | http://www.ip3366.net/pricing/ | 另有普通套餐可选 |
站大爷代理 | 普通代理 | ¥8/天 ¥80/月 ¥720/年 | http://ip.zdaye.com/buy.html | 另有私密代理可选 |
短效优质代理 | ¥17/天 ¥475/月 ¥4569/年 | http://ip.zdaye.com/ShortProxy.html |
安全性
对于安全性,此处主要考虑提取 API 是否有访问验证,使用代理时是否有访问验证,即可以通过设置白名单来控制哪些可以使用。 其中只有芝麻 HTTP 代理、太阳 HTTP 代理默认使用了白名单限制,即只有将使用 IP 添加到白名单才可以使用,可以有效控制使用权限。 另外阿布云代理提供了隧道代理验证,只有成功配置了用户名和密码才可以正常使用。 所以在此归纳如下:
级别 | 套餐 | 描述 |
---|---|---|
第一梯队 | 快代理、芝麻 HTTP 代理、太阳 HTTP 代理、阿布云代理、多贝云代理 | 默认使用了白名单控制或隧道代理验证 |
第二梯队 | 其他 | 可直接使用 |
调取频率
不同的接口具有不同的 API 调用频率限制,归纳如下:
代理商家 | 套餐类型 | 调取频率限制 |
---|---|---|
芝麻 HTTP 代理 | 默认版 | 1秒 |
阿布云代理 | 专业版 | 无需获取 |
动态版 | 无需获取 | |
经典版 | 无需获取 | |
大象代理 | 个人版 | 1秒 |
专业版 | 1秒 | |
企业版 | 无限制 | |
全网代理 | 普通版 | 无限制 |
动态版 | 100毫秒 | |
快代理 | 开放代理 | 200毫秒 |
独享代理 | 100毫秒 | |
私密代理 | 100毫秒 | |
蘑菇代理 | 默认版 | 5秒 |
太阳 HTTP 代理 | 默认版 | 1秒 |
讯代理 | 优质代理 | 5秒 |
混播代理 | 10秒 | |
独享代理 | 15秒 | |
云代理 | VIP 套餐 | 无限制 |
站大爷代理 | 普通代理 | 3秒 |
短效优质代理 | 10秒 | |
西刺代理 | 免费 | 无限制 |
在此可以简单总结如下:
级别
级别 | 套餐 | 描述 |
---|---|---|
第一梯队 | 云代理、全网代理普通版、大象代理企业版、西刺代理、阿布云(调取无限制,请求默认最大 1 秒 5 请求) | 无限制 |
第二梯队 | 全网代理动态版、快代理(所有套餐) | 小于 1s |
第三梯队 | 大象代理个人版、大象代理专业版、芝麻 HTTP 代理、太阳 HTTP 代理、站大爷普通代理、蘑菇代理、讯代理优质代理 | 1s – 5s |
第四梯队 | 讯代理混播代理、讯代理独享代理、站大爷短效优质代理 | 大于 5s |
特色功能
除了常规的测试之外,我这边还选取了某些套餐的与众不同之处进行说明,这些特点有的算是缺点,有的算是优点,现列举如下:
代理 | 描述 |
---|---|
阿布云代理 多贝云代理 快代理 | 使用隧道技术实现,代理不能直接拿到,必须配置访问认证,默认 1 秒只能支持 5/20 个请求,如需更多需要付费。 |
讯代理 | 独享代理拨号时间略长,可用主机少,容易出现拨号失败现象,单个代理有效时长可控。 |
芝麻 HTTP 代理、快代理 | 必须要设置白名单才可以使用,后台可控,使用 API 提取代理不扣费,使用时才扣费。 |
测评综合
分项了解了各个代理套餐的可用率、响应速度、稳定性、性价比、安全性等内容之后,最后做一下总结:
代理商家 | 套餐类型 | 可用率 | 可用率评价 | 响应时间均值 | 响应速度评价 | 响应时间方差 | 稳定性 | 包月价格 | 价格评价 | 安全性 | 访问频率限制 | 调取频率限制 | 推荐指数 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
芝麻 HTTP 代理 | 默认版 | 99% | 极高 | 0.916853 | 极快 | 1.331989 | 极好 | 360 | 较高 | 高 | 无 | 1 秒 | ★★★★★ |
阿布云代理 | 专业版 | 90.4% | 高 | 0.68770707 | 极快 | 1.1477163 | 极好 | 429 | 高 | 高 | 有 | 无需获取 | ★★★☆ |
动态版 | 98.8% | 高 | 1.83994 | 快 | 6.0491614 | 好 | 429 | 高 | 高 | 有 | 无需获取 | ★★★★ | |
经典版 | 99.8% | 极高 | 0.49301904 | 极快 | 0.25724468 | 极好 | 429 | 高 | 高 | 有 | 无需获取 | ★★★★ | |
大象代理 | 个人版 | 47.6% | 低 | 5.340489 | 慢 | 78.56444 | 一般 | 98 | 低 | 低 | 无 | 1 秒 | ★★ |
专业版 | 56.8% | 一般 | 6.87078 | 慢 | 105.7984 | 差 | 198 | 较低 | 低 | 无 | 1 秒 | ★☆ | |
企业版 | 51.8% | 一般 | 6.3081837 | 慢 | 121.08402 | 差 | 498 | 高 | 低 | 无 | 无限制 | ★ | |
全网代理 | 普通版 | 44% | 低 | 5.584057 | 慢 | 47.442596 | 一般 | 93 | 低 | 低 | 无 | 无限制 | ★★ |
动态版 | 97% | 高 | 2.776973 | 一般 | 17.568045 | 一般 | 160 | 较低 | 低 | 无 | 100毫秒 | ★★★ | |
快代理 | 开放代理 | 35.6% | 一般 | 16.636587 | 极慢 | 221.69661 | 差 | 200 | 中 | 高 | 无 | 200毫秒 | ★ |
独享代理 | 99.00% | 极高 | 1.2044522 | 快 | 3.72582 | 好 | 64 | 低 | 高 | 无 | 100毫秒 | ★★★★★ | |
私密代理 | 99.40% | 极高 | 0.5435687 | 极快 | 2.27832 | 好 | 720 | 高 | 高 | 无 | 100毫秒 | ★★★★☆ | |
蘑菇代理 | 默认版 | 99.4% | 极高 | 1.0985725 | 快 | 9.532586 | 好 | 169 | 较低 | 低 | 无 | 5秒 | ★★★★☆ |
太阳 HTTP 代理 | 默认版 | 80% | 一般 | 1.2522483 | 快 | 12.662229 | 一般 | 198 | 较低 | 高 | 无 | 1秒 | ★★★★ |
讯代理 | 优质代理 | 99% | 极高 | 1.0512681 | 快 | 6.4247565 | 好 | 210 | 中 | 低 | 无 | 5秒 | ★★★★☆ |
混播代理 | 98.8% | 高 | 1.0664985 | 快 | 6.451699 | 好 | 729 | 高 | 低 | 无 | 10秒 | ★★★☆ | |
独享代理 | 100% | 极高 | 0.7056521 | 极快 | 0.35416448 | 极好 | 210 | 中 | 低 | 无 | 15秒 | ★★★★☆ | |
云代理 | VIP 套餐 | 97.8% | 高 | 3.4216988 | 一般 | 38.120296 | 一般 | 120 | 较低 | 低 | 无 | 无限制 | ★★★☆ |
站大爷代理 | 普通代理 | 18.4% | 极低 | 5.067193 | 慢 | 66.12128 | 一般 | 80 | 低 | 低 | 无 | 3秒 | ★☆ |
短效优质代理 | 97.6% | 高 | 1.5625348 | 快 | 8.121197 | 好 | 475 | 高 | 低 | 无 | 10秒 | ★★★☆ | |
西刺代理 | 免费 | 6.2% | 极低 | 9.712833 | 慢 | 95.09569 | 一般 | 0 | 免费 | 低 | 无 | 无限制 | ★ |
所以在综合来看比较推荐的有:芝麻代理、快代理、讯代理、阿布云、多贝云代理,详细的对比结果可以参照表格。 以上便是各家代理的详细对比测评情况,希望此文能够在大家选购代理的时候有所帮助。