程序猿对:飞猪IP爬虫代理分析评测

媒介

跟着年夜数据时代的到来,爬虫已经当作了获取数据的必不成少的体例,做过爬虫的想必都深有体味,爬取的时辰莫名其妙 IP 就被网站封失落了,究竟结果各年夜网站也不想本身的数据被等闲地爬走。

对于爬虫来说,为领会决封禁 IP 的问题,一个有用的体例就是利用代办署理,利用代办署理之后可以让爬虫伪装本身的真实 IP,若是利用年夜量的随机的代办署理进行爬取,那么网站就不知道是我们的爬虫一向在爬取了,如许就有用地解决了反爬的问题。

那么问题来了,利用什么代办署理好呢?这里指的代办署理一般是 HTTP 代办署理,本家儿要用于数据爬取。此刻打开搜刮引擎一搜 HTTP 代办署理,免费的、付费的太多太多品牌,我们该如何选择呢?看完这一篇文章,想必你心中就有了谜底。

对于免费代办署理,其实想都不消想了,可用率能跨越 10% 就已经是谢天谢地了。真正靠谱的代办署理仍是需要花钱买的,那这么多家到底哪家可用率高?哪家响应速度快?哪家比力不变?哪家性价比比力高?为此,我对市道上比力风行的多家付费代办署理针对可用率、爬取速度、爬取不变性、价钱、平安性、请求限制等做了具体的评测,让我们来一路看一下到底哪家更强!

工具/原料

  • 测试对象:以飞猪IP代办署理为例

测评规模(免费版和付条目费)

  1. 1

    免费代办署理

    在这里我本家儿要测试的是付费代办署理,免费代办署理可用率太低,几乎不会跨越 10%

  2. 2

    付费代办署理

    付费代办署理我以飞猪IP爬虫代办署理,进行了评测,采办了分歧级此外套餐利用同样的收集情况进行了测评,详情如

飞猪IP代办署理评测方针

  1. 1

    本次测评本家儿要阐发代办署理的可用率、响应速度、不变性、价钱、平安性、利用频率等身分,下面我们来一一进行申明。

  2. 2

    可用率

    可用率就是提取的这些代办署理中可以正常利用的比率。假如我们无法利用这个代办署理请求某个网站或者拜候超时,那么就代表这个代办署理不成用,在这里我的测试样本大小为 500,即提取 500 个代办署理,看看里面可用的比率几多。

  3. 3

    响应速度

    响应速度可以用花费时候来权衡,即计较利用这个代办署理请求网站一向到获得响应所花费的时候。时候越短,证实代办署理的响应速度越快,这里同样是 500 个样本,计较时只对正常可用的代办署理做统计,计较花费时候的平均值。

  4. 4

    不变性

    因为爬虫时我们需要利用年夜量代办署理,若是一个代办署理响应速度出格快,很快就能获得响应,而下一次请求利用的代办署理响应速度出格慢,等了三十秒才获得响应,那势必会影响爬取效率,所以我们需要看下商家供给的这些代办署理不变性如何,总不克不及这一个出格快,下一个又慢的不可。所以这里我们需要统计一下花费时候的方差,方差越年夜,证实不变性越差。

  5. 5

    价钱

    价钱,这个当然是需要考虑的内容,若是一个代办署理非论是响应速度仍是不变性都出格不错,可是价钱很是很是高,这也是不成接管的。

  6. 6

    平安性

    这简直也是需要考虑的身分,好比一旦不小心把代办署理提取的 API 泄露出去了,别人就肆意利用我们的 API 提代替理利用,而一向花费的是我们的套餐。别的一旦别人经由过程某些手段获取了我们的代办署理列表,而这些代办署理是没有平安验证的,这也会导致别人偷偷利用我们的代办署理。在出产情况上,这方面尤其需要注重。

  7. 7

    利用频率

    有些代办署理套餐在 API 挪用提代替理时有频率限制,有的代办署理套餐则会限制请求频率,这些身分城市或多或少影响爬虫的效率,这部门身分我们也需要考虑进来。

  8. 8

    测评尺度

    要做尺度的测评,那就必需在尺度的测评情况下进行,且尽可能解除一些杂项的干扰,如收集波动、传输延迟等一系列的影响。

  9. 9

    本家儿机拔取

    因为我的小我笔记本是利用 WiFi 上网的,所以可能会有收集波动,并且现实带宽其实并不太好把控,是以它并不适合来做尺度评测利用。评测需要在一个收集不变的前提下进行,并且多个代办署理的评测情况必需不异,在此我选择了一台腾讯云本家儿机作为测试,本家儿机设置装备摆设如下:

    如许我们就可以包管一个尺度同一的测试情况了。

  10. 10

    现取现测

    别的在评测时还需要遵循一个原则,那就是现取现测,即取一个测一个。此刻良多付费代办署理网站都供给了 API 接口,我们可以一次性提取多个代办署理,可是如许会导致一个问题,每个代办署理在提掏出来的时辰,商家是会尽量包管它的可用性的,但过一段时候,这个代办署理可能就欠好用了,所以假如我们一次性提掏出来了 100 个代办署理,可是这 100 个代办署理并没有同时介入测试,后面的代办署理就会履历一个的期待期,过一段时候再测这些代办署理的话,必定会影响后半部门代办署理的有用性,所以这里我们将提取的数目同一设置当作 1,即请求一次接口获取一个代办署理,然后当即进行测试,如许可以包管测试的公允性,解除了分歧代办署理有用期的干扰。

  11. 11

    时候计较

    因为我们有一项是测试代办署理的响应速度,所以我们需要计较法式请求之前和获得响应之后的时候差,这里我们利用的测试 Python 库是 requests,所以我们就计较倡议请乞降获得响应之间的时候差即可,时候计较方式如下所示:

    这里 used_time 就是利用代办署理请求的耗时,如许测试的就仅仅是倡议请求到获得响应的时候。

  12. 12

    超时限制

    在测试时免不了的会碰到代办署理请求超时的问题,所以这里我们也需要同一一个超不时间,这里设置为 60 秒,若是利用代办署理请求百度,60 秒还没有获得响应,那就视为该代办署理无效。

    测试数目

    要做测评,那么样本不克不及太小,如只有十几回测试是不克不及等闲下结论的,这里我拔取了一个适中的测评数目 500,即每个套餐获取 500 个代办署理进行测试。

  13. 13

    测评过程

    嗯,测评过程这边本家儿要说一下测评的代码逻辑,首先测的时辰是取一个测一个的,所以这里界说了一个 test_proxy() 方式:

  14. 14

    这里需要传入一个参数 proxy,代表一个代办署理,即 IP 加端口构成的代办署理,然后这里利用了 requests 的 proxies 参数传递给 get() 方式。对于代办署理无效的检测,这里判定了 ProxyError, ConnectTimeout, SSLError, ReadTimeout, ConnectionError 这几种异常,若是发生了这些异常十足视为代办署理无效,返回错误。若是在 timeout 60 秒内获得了响应,那么就计较其花费时候并返回。

    在本家儿法式里,就是获取 API 然后统计成果了,代码如下:

  15. 15

    测评得出的结论

    用飞猪IP代办署理,进行收集爬虫,经由过程利用率很高,响应速度快,并且不变,价钱廉价,平安性也高,值得大师利用,保举指数5颗星。

  • 发表于 2018-11-28 00:00
  • 阅读 ( 318 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论