• 网络抓取

在充满敌意的环境中搜索数据:数字揭示的代理复原力

  • Felix Rose-Collins
  • 3 min read

介绍

每一个被阻止的请求都不仅仅是一个小插曲,而是对 CPU 时间、带宽和分析师注意力的无声消耗。在扩展任何爬虫程序之前,经验丰富的工程师都会从数字入手,而不是从趣闻轶事入手。现在,网络上已经布满了反僵尸绊网:据 Cloudflare 学习中心估计,"超过 40% 的互联网流量是僵尸流量",其中大部分是恶意流量。要想保持盈利,垃圾邮件清除者必须将这一恶意统计数据转化为可预测的细列项目,您可以对其进行建模、缓解和预算。

下面,我们将通过四个以数据为导向的检查点来揭示炒作的本质,最后提出一个可以带回家的经验。总长度:约 710 字。

1 隐藏的失败税:40% 的机器人≠40% 的坏人

当到达公共端点的数据包有近一半被归类为自动数据包时,始发站会通过不断升级的 JavaScript 挑战、行为评分和网络层节流等防御措施来应对。每次额外的往返或验证码都会增加可测量的延迟。在我上个季度进行的性能基准测试中,在 10 个 URL 样本中,一次强制重试就会使平均刮擦时间增加38%。在数以百万计的 URL 中乘以这一比例,"失败税 "就会使硬件成本相形见绌。将每次 GET 视为概率事件,而非保证。Cloudflare 的 40% 指标是该等式的起始系数,而不是脚注。

2 成功率经济学:住宅池物有所值

研究显示,某些住宅网络的请求成功率为 99.82%响应时间中位数为 0.41 秒,而最接近的竞争对手的成功率98.96%。从纸面上看,这一差距很小;但实际上,成功率提高一个百分点,就意味着每百万次请求可增加一万页,而无需重新排队。在一定规模上,这个差值抵消了住宅流量每 GB 的溢价。计算方法很简单

extra_pages = (success_res - success_alt) × total_requests

在宣布任何代理服务器 "太贵 "之前,请将自己的流量输入该公式。请记住:通过SOCKS 协议进行传输层隧道传输,可以通过同一认证通道同时传输 TCP 和 UDP,当爬虫将 Selenium 与原始套接字探针混合使用时非常方便。

3 指纹熵:你的用户代理依然会出卖你

电子前沿基金会(Electronic Frontier Foundation)的Panopticlick 研究测得典型浏览器指纹的熵值为 18.1 位,足以在 286,777 个浏览器中找出一个。在使用 Flash 或 Java 的浏览器中,94.2% 是唯一的。这意味着,对刮擦者而言,仅交换 IP 只是表面现象;使用默认设置的无头 Chrome 浏览器会触发任何设备剖析雷达。真正的缓解措施要求在进行 IP 轮换的同时,还要进行报头随机化、字体抑制和时区欺骗。将指纹差异视为代理池熵预算的一部分。

4 旋转频率和误报率:追逐 0.01%。

即使是完美的代理也会被过度热心的僵尸管理员绊倒。DataDome 报告称,通过毫秒级设备检查,数十亿次请求的误报率低于 0.01%。这就设定了一个实用的基准:如果你自己的刮擦器的合法请求被拦截的频率超过万分之一,那么你的收入就会被白白浪费掉。在你的管道中设置 "拦截预算 "警报,一旦超过,就在目标域将整个子网列入黑名单之前节流或交换出口节点。

重要经验

代理选择不再是原始 IP 数量的问题,而是风险计算的问题。将 (a) 经验性僵尸流量比率、(b) 经过验证的成功率表、© 指纹熵指标和 (d) 假阳性上限合并为一个损失函数,然后进行优化。对每个变量进行量化的团队,即使在网络挖出更深的护城河时,也能让爬虫继续进行搜索。

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

开始使用Ranktracker...免费的!

找出阻碍你的网站排名的原因。

创建一个免费账户

或使用您的证书登录

Different views of Ranktracker app