本文的相关链接和代码可以通过崔的博客链接获得。前言
随着大数据时代的到来,爬虫已经成为获取数据不可或缺的方式。做过爬虫的一定深有体会。爬行时莫名其妙的IP被网站屏蔽。毕竟各大网站都不希望自己的数据被轻易爬走。
对于爬虫来说,为了解决IP被禁的问题,一个有效的方法就是使用代理。使用代理后,爬虫可以伪装自己的真实IP。如果使用大量随机代理进行爬行,网站不会知道我们的爬虫一直在爬行,有效解决了反爬行的问题。
那么问题来了,我该用什么代理?这里指的代理一般是HTTP代理,主要用于数据抓取。现在打开搜索引擎,搜索HTTP代理。有太多的免费和付费品牌。我们应该如何选择?看完这篇文章,你心里一定有答案。
对于自由代理,想都别想。谢天谢地,可用率可以超过10%。真正靠谱的代理还是要花钱买的,那么哪家的可用率高呢?哪个反应快?哪个更稳定?哪个性价比更高?为此,我对可用性、爬行速度、爬行稳定性、价格、安全性、请求限制等做了详细的评估。市场上许多受欢迎的支付代理。我们来看看哪个更强!
评估范围自由代理
这里我主要测试付费代理,免费代理的可用率太低,几乎不超过10%,但为了比较,我选择了西慈免费代理进行测试。
支付代理
付费代理我选择了詹大冶、芝麻HTTP代理、孙HTTP代理、消息代理、快递代理、蘑菇云代理、阿布云代理、全网代理、云代理、大象代理进行对比评测,并使用相同的网络环境购买了他们不同级别的套餐进行评测。详情如下:
代理业务
包装类型
官方网站
芝麻HTTP代理
默认版本
http://h.zhimaruanjian.com
Abuyun代理
专业版
https://www.abuyun.com
动态版本
经典版
大象特工
个人版
http://www.daxiangdaili.com
专业版
企业版
全网代理
普通版
http://www.goubanjia.com
动态版本
快速代理
贵宾套餐
https://www.kuaidaili.com
蘑菇剂
默认版本
http://www.mogumiao.com
Sun HTTP代理
默认版本
http://http.taiyangruanjian.com
新闻代理
质量机构
http://www.xdaili.cn
混合广播代理
独家代理
云代理
贵宾套餐
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-通用x86_64)
带宽
5 Mbps
心数
2
内部存储
4GB
Python版本
3.5.2
这样就可以保证一个标准统一的测试环境。
现金测试。
另外,评估的时候要遵循一个原则,就是考现金,就是考一个。目前很多支付代理网站都提供API接口,我们可以一次抽取多个代理,但是这样会导致一个问题。每抽取一个代理,商家都会尽力保证其可用性,但是过了一段时间,这个代理可能就不好用了,所以如果我们一次抽取100个代理,但是这100个代理不同时参加测试,后面的代理会经历一个等待期。如果这些代理经过一段时间的测试,肯定会影响后一半代理的有效性。所以在这里我们将抽取量统一设置为1,即请求一个接口获取一个代理,然后立即进行测试,这样可以保证测试的公平性,消除不同代理有效期的干扰。
时间计算
因为我们的测试之一是代理的响应速度,所以我们需要计算程序请求之前和获得响应之后的时间差。这里,我们使用的测试Python库是Requests,所以我们可以计算发起请求和得到响应之间的时间差。时间计算方法如下:
这里,used_time是使用代理请求所花费的时间,所以测试只是从请求发起到响应的时间。
测试链接
在测试时,我们还需要使用一个稳定的没有反爬虫的链接,以消除服务器的干扰。这里我们用百度作为测试目标。
超时限制
在测试过程中,我们不可避免地会遇到代理请求超时的问题,所以这里我们也需要统一一个超时周期,设置为60秒。如果代理人请求百度,60秒内没有收到回应,则视为无效。
测试数量
做评价,样本不能太小。如果只有十几个测试,是不可能轻易下结论的。在这里,我选择了一个500的中等评价量,即每包得到500个代理进行测试。
评估过程
嗯,在评测过程中,我们主要讲一下评测的代码逻辑。首先,我们进行一个测试,因此这里我们定义一个test_proxy()方法:
这里需要传入一个参数proxy,代表一个代理,也就是IP加端口组成的代理,然后传入requests的proxy参数get()方法。对于无效代理的检测,这里我们判断几个异常,如proxyerror、connecttimeout、sslerror、readtimeout和connect。如果出现这些异常,它们都将被视为无效代理并返回错误。如果您在超时的60秒内收到响应,请计算其运行时间并返回。
在主程序中,获取API并统计结果。代码如下:
这里补充一些判断。比如is_proxy()方法判断得到的信息是否符合有效的代理规则,即判断是否是IP加端口的形式,可以消除API返回一些错误消息的干扰。另外,这里设置了total_count和valid_count两个变量,只有满足代理规则的代理才参与测试,这样才算有效测试。如果测试可用,添加valid_count并一起记录需要时间。最后,调用stats_results方法进行统计:
Numpy用于计算耗时的均值和方差,分别反映代理的响应速度和稳定性。
嗯,就这样,我一个个测试了不同的代理包。
评估结果
经过评估,初步得到以下统计结果:
注意:
表中的响应时间方差越大,代表稳定性越低。阿布云代理经典版方差较小是因为它是长时间锁定了同一个 IP,因此极其稳定,但每秒最大请求默认 5 次。下面我们将从各个方面分析每个套餐的优缺点。
利用率
通过可用性率的统计,我们可以发现可用性率较高的代理包有:
响应速度
通过判断平均响应速度,我们可以发现响应速度较快的代理包有:
稳定
通过对平均响应速度的方差分析,我们可以发现稳定性高的代理包有:
价格
我们可以先看看每个套餐的价格:
根据每月价格,我们可以做如下统一比较:
安全
为了安全,这里主要考虑抽取API是否有访问验证,使用代理时是否有访问验证,也就是我们可以通过设置白名单来控制哪些可以使用。
其中只有芝麻HTTP代理和Sun HTTP代理默认使用白名单限制,即使用的IP加到白名单才能使用,可以有效控制使用权。
另外,ABU Cloud Agent提供隧道代理认证,只有用户名和密码配置成功才能正常使用。
因此,总结如下:
呼叫频率
不同的接口有不同的API调用频率限制,可以总结如下:
可以简单总结如下:
特色功能
除了常规测试,我还选择了包的一些特殊功能来解释。这些特性中有些是缺点,有些是优点,列举如下:
综合评价法
在了解了每个代理包的可用性、响应速度、稳定性、性价比和安全性后,最后做一个总结:
所以综合来说,推荐的有三个:芝麻探、荀探、阿不云探。详细的比较结果可以参考下表。
以上是各个代理的详细对比和评价。希望这篇文章能对你选择代理人有所帮助。
书籍推荐
如果你喜欢这篇文章,你肯定不想错过假期后3月份预售的爬行动物书。默默告诉你,学习爬虫,除了Python网络数据收集,记得等下一本书。崔(网名京米)创作的《Python 3 Web Crawler Development实战》三月下旬就可以预定了——现在就开始期待好书上架的模式吧!
预售时间:2018年3月
这本书介绍了如何使用Python 3开发网络爬虫。首先详细介绍了环境配置的过程和爬虫的基础知识,然后讨论了urllib和requests等请求库,以及Beautiful Soup、XPath和pyquery等解析库,以及文本和各种数据库的存储方式。然后,通过几个案例,介绍了分析Ajax进行数据抓取、Selenium和Splash进行动态网站抓取的过程,然后介绍了爬虫的一些技巧,如代理抓取和维护动态代理池、使用ADSL拨号代理、破解图形、极坐标测试、触摸和网格等各种验证码的方法、模拟登录网站的抓取和维护Cookies池。
此外,结合移动互联网的特点,本书还讨论了使用Charles、mitmdump、Appium等工具实现App爬行的方法,然后介绍了pyspider框架、Scrapy框架的使用以及分布式爬虫的知识,最后介绍了Bloom Filter效率优化、Docker和Scrapyd爬虫部署、Gerapy爬虫管理等知识。
崔拥有北京航空航天大学硕士学位空,北京美甲趣味网络公司技术总监,个人博客。爬虫文章总浏览量已经超过一百万。
大杯咖啡推荐
在互联网软件开发工程师的分类中,爬虫工程师非常重要。爬虫工作往往是公司核心业务的基础。只有捕捉到数据,才能进行处理并最终显示出来。数据的捕获规模、稳定性、实时性和准确性非常重要。早期互联网是完全开放互联的,获取数据非常困难。随着各大公司对数据资产的日益重视,反爬虫的水平也在不断提高,各种新技术不断给爬虫软件带来新的课题。这本书的作者对爬行动物的各个领域进行了深入的研究。书中讨论了捕捉Ajax数据、捕捉动态渲染页面、识别验证码、模拟登录等高级主题。同时,还根据移动互联网的特点讨论了抓取App。更重要的是,它提供了大量的源代码,可以帮助读者更好地理解。强烈推荐技术爱好者阅读。
——巴油科技总经理梁斌
数据不仅是大数据分析的前提,也是各种人工智能应用场景的基础。得到数据的人赢天下,能爬遍天下的人不怕!一本在手,让小白和老司机都能有所收获!
——李,北京航空航天大学教授空,博士生导师
本书从爬虫入门的基础到分布式抓取,详细介绍了爬虫技术的要点,并针对不同的场景提出了相应的解决方案。另外,这本书通过大量的例子帮助读者更好的学习爬虫技术,通俗易懂,充满干货,强烈推荐给大家!
——微软萧冰首席科学家宋瑞华
有人说中国互联网的带宽被各种爬虫占用,可见网络爬虫的重要性和中国互联网数据封闭垄断的现状。爬是一种能力,爬是为了避免爬。
——北京旅游信息科技有限公司总裁石水才
崔清才
悄悄找博主
隐形词
攻击编码器
【看原文】查看作者博客
1.《爬走代理 爬虫代理哪家强?十大付费代理详细对比评测出炉!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《爬走代理 爬虫代理哪家强?十大付费代理详细对比评测出炉!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1589570.html