in

关于网页爬取中的代理服务器介绍

关于网页爬取中的代理服务器介绍

Web 抓取中最困难的问题之一是缩放,而缩放 Web 抓取的最重要的工具是代理! 拥有一组高质量的代理可以防止我们的网络抓取工具被阻塞或限制,这意味着我们可以更快地抓取并花更少的时间维护我们的抓取工具。那么什么是网络抓取的优质代理以及有哪些类型的代理? 在这篇介绍文章中,我们将了解代理到底是什么。有哪些类型的代理,它们如何相互比较,代理使用带来哪些常见挑战以及网络抓取的最佳实践是什么?

什么是代理服务器?

代理本质上是位于客户端和服务器之间的中间人服务器。代理有很多用途,例如优化连接路由,但最常见的网络抓取代理用于伪装客户端的 IP 地址(身份)。 这种伪装可用于访问地理锁定的内容(例如,仅在特定国家/地区可用的网站)或通过多个身份分配流量。 在网络抓取中,我们经常使用代理来避免被阻止,因为来自单一身份的大量连接很容易被识别为非人类连接。 为了进一步理解这一点,让我们了解一下 IP 地址和代理类型。

IP 协议版本

目前,互联网运行在两种类型的 IP 地址上:IPv4 和 IPv6。 这两个协议之间的主要区别是:

  • 地址数量:IPv4 地址池被限制在大约 40 亿个地址,这可能看起来很多,但互联网是一个很大的地方,从技术上讲我们已经用完了免费地址!(参见IPv4 地址耗尽
  • 采用:大多数网站仍然只支持 IPv4 连接,这意味着我们不能使用 IPv6 代理,除非我们明确知道我们的目标网站支持它。

这对网络抓取意味着什么? 由于极少数网站支持 IPv6,我们仍然限于使用 IPv4 代理,由于地址有限问题,它们更昂贵(平均 3-10 倍)。 也就是说,一些主要网站确实支持 IPv6(可以在各种IPv6 可访问性测试工具上进行检查),这可以大大降低您的代理预算!

代理协议

目前使用的主要代理协议有两种:HTTPSOCKS(最新的 SOCKS5)。 在网络抓取中,这两个协议之间没有太大的实际区别。SOCKS 协议往往更快、更稳定、更安全。另一方面,HTTP 代理被用于网络抓取的代理提供商和 HTTP 客户端库更广泛地采用。

代理类型

Web 抓取中使用了 4 种类型的代理 IP:

  • 数据中心
  • 住宅
  • 静态住宅(又名 ISP)
  • 移动的。

这 4 种类型之间的主要区别在于价格可靠性(连接速度、IP 轮换等)和隐形分数(被阻止的可能性)。 让我们更深入地了解每种类型及其在网络抓取中的价值。

数据中心代理

数据中心 IP 以商业方式分配给服务器,不隶属于互联网服务提供商 (ISP)。这意味着,它们经常被标记为成为机器人的高风险。通常,这些 IP 还会在许多用户之间共享,从而进一步增加标记风险。 从好的方面来说,数据中心代理可以广泛访问、可靠且便宜!我们建议为具有更强工程资源的团队使用数据中心代理,因为需要工程时间来对抓取目标进行逆向工程和设计智能代理轮换算法。

住宅代理

住宅 IP 由 ISP 分配,这意味着它们被标记的风险较低,因为它们附加到真实地址并包含在更严格的法律框架中。意思是,它们非常适合网络抓取,因为它们与真实人类使用的 IP 相同! 不幸的是,住宅 IP比数据中心IP贵得多。此外,这些代理有时会在长时间保持相同 IP 时 出现会话持久性问题,因此通常被称为“轮换住宅代理”。对于需要相同 IP 来维持连接会话的某些目标,这可能会出现问题。例如,如果我们正在抓取航空公司的一个漫长的预订流程,当我们到达最后一步时,代理可能会过期,从而弄乱整个抓取流程。 持续的会话丢失需要网络抓取器反复重新验证会话,从而导致网络抓取过程中的摩擦,因此最好寻找可以维持长时间会话的住宅代理。 住宅代理非常适合工程资源有限的团队,因为它们具有很高的隐蔽性分数并且相对实惠。

静态住宅/ISP 代理

住宅 IP 具有很高的隐蔽性,但不可靠,因为它们没有强大的数据中心基础设施提供支持。如果我们结合两全其美:数据中心代理的可靠性和住宅代理的隐秘性,会怎样? ISP 代理(又名静态住宅代理)是数据中心代理,它们注册为 ISP IP,这意味着它们获得了住宅代理的大部分隐形优势,以及数据中心代理的持久性/网络质量! 我们建议为网络抓取工具使用 ISP 代理,它需要长时间保持基于 IP 的会话并避免验证码和反机器人系统。

移动代理

移动 IP 由移动服务提供商(想想 4G 等)分配,并且由于它们是动态分配给信号塔周围的任何人,因此它们不会与单个人绑定。这意味着他们被阻止或被迫通过验证码的风险非常低。 移动代理只是住宅代理的更极端版本:维护相同的 IP 可能更难,而且它们甚至更昂贵。尽管现代提供商最近做出了很大改进,但这些代理也往往速度较慢且不太可靠。 移动代理对于工程资源较少的团队来说是惊人的,因为它们仅靠原始美德解决了大部分连接阻塞!


如您所见,出现了一个清晰的模式:IP 越复杂、越稀有,就越难识别,但成本也越高。代理的复杂性也降低了它的可靠性。 如您所见,出现了一个清晰的模式:IP 越复杂、越稀有,就越难识别,但成本也越高。代理的复杂性也降低了它的可靠性。 那么选择哪一个呢?

图像

简而言之——这完全取决于您的目标和项目资源。 数据中心代理非常适合绕过简单的速率限制并作为通用安全网。 住宅代理大大减少了验证码和被反网络抓取保护服务捕获的机会,而移动代理则更进一步。 我们通常建议从一个相当大的数据中心代理池开始,因为它们明显更便宜、更可靠,并且随着项目的增长从那里进行评估。 然而,数据中心代理很容易被反抓取保护系统捕获,因为它们非常容易识别。

其他类型的代理?

我们已经介绍了 4 种类型的代理,但互联网是一个聪明的地方,还有其他鲜为人知的方法来掩盖您的 IP 地址。 可能最流行的替代方法是使用虚拟专用网络 (VPN)服务作为代理。VPN 本质上是具有更复杂/更强大的隧道协议的代理。 由于单个 VPN 出口由许多用户(如移动代理)共享,这可能是有利的,因为其他用户可以通过解决验证码和像人类一样四处浏览来提高 IP 的隐身分数。另一方面,情况可能恰恰相反,退出 IP 可能会被其他高级用户完全污染。 总结一下:VPN 方法非常不稳定,并且可访问性因 VPN 提供商而异。提供对其 VPN 服务器的 http/socks5 代理访问的供应商并不多,但只要掌握一些技术诀窍,VPN 服务器也可以用作临时 Web 抓取项目的代理。 另一种替代代理类型是The Onion Network (TOR)。TOR 是一种隐私层协议,许多服务器在其中反弹流量以掩盖客户端的来源。 使用 TOR 网络的主要缺点是它是一个志愿者驱动的网络,具有有限的、众所周知的退出节点。这意味着,TOR 网络的隐身分数非常低。此外,由于协议的复杂性和自愿退出节点的数量有限,TOR 连接非常缓慢且通常不可靠。 TOR 可用于具有不同结果的网络抓取,但是,我们不建议将其用于教育目的以外的任何用途。

带宽预算

当四处寻找抓取代理时,我们会注意到的第一件事是大多数代理都是按代理数量和带宽定价的。对于某些 Web 抓取场景,带宽可能很快成为巨大的预算消耗,因此在选择抓取代理提供商之前评估带宽消耗非常重要。 很容易忽视带宽使用并最终导致巨额代理费用,所以让我们看一些例子:

目标 平均文档页面大小 每 1GB 页数 平均浏览器页面大小 每 1GB 页数
Walmart.com 16kb 1k – 60k 1 – 4 MB 200 – 2,000
Indeed.com 20kb 1k – 50k 0.5 – 1 兆字节 1,000 – 2,000
LinkedIn.com 35kb 300 – 30k 1 – 2 MB 500 – 1,000
Airbnb.com 35kb 30k 0.5 – 4 MB 250 – 2,000
Target.com 50kb 20k 0.5 – 1 兆字节 1,000 – 2,000
Crunchbase.com 50kb 20k 0.5 – 1 兆字节 1,000 – 2,000
G2.com 100kb 10k 1 – 2 MB 500 – 2,000
Amazon.com 200kb 5k 2 – 4 MB 250 – 500

在上表中,我们看到了各种目标的平均带宽使用情况。如果我们仔细观察,我们会发现一些模式:与使用后台资源请求来填充其页面的动态网站(如 walmart.com)相比,大型重型 HTML 网站(如 amazon.com)使用大量带宽。 带宽下沉的另一个例子是使用浏览器自动化工具,如 Puppeteer、Selenium 或 Playwright。由于 Web 浏览器的连接不太精确,因此它们通常会下载大量不必要的数据,如图像、字体等。因此,必须使用资源阻止规则和适当的缓存规则来配置浏览器自动化设置,以防止带宽开销,但通常预计浏览器流量在带宽方面要昂贵得多。

常见代理问题

在客户端和服务器之间设置中间人会带来很多问题。 可能最大的问题是对 HTTP2/3 流量的支持。较新的 HTTP 协议通常是网络抓取的首选,以避免阻塞。不幸的是,许多 HTTP 代理都在与这种流量作斗争,因此在选择用于网络抓取的代理提供商时,我们建议首先测试 HTTP2 质量! 另一个常见的代理提供商问题是连接并发性。通常,代理服务对并发代理连接有限制,这对于强大的网络抓取工具来说可能太小了。因此,我们建议对并发连接限制进行研究,并将爬虫限制在低于该限制的水平,以防止与代理相关的连接崩溃。 最后,代理确实给网络抓取项目带来了很多额外的复杂性,因此当使用代理时,我们建议在重试/错误处理逻辑上投入额外的工程工作。

常问问题

为了总结这个介绍,让我们看一下网络抓取中有关代理的一些常见问题:

免费代理可以用于网络抓取吗?

是的,但没有很多好处。免费的抓取代理很容易识别并且性能很差,所以我们只推荐免费代理列表用于低需求的网络抓取和拥有大量工程资源的团队来跟踪免费代理的可用性。

是否永远禁止抓取代理?

通常被禁止的代理会在几分钟、几小时或几天内恢复。尽管一些代理提供商被各种反抓取保护服务禁止,但永久禁止网络抓取的可能性很小。

为什么要在网络抓取中使用代理?

Web 抓取中的代理用于避免抓取器阻塞或访问受地理限制的内容。有关如何在 Web 抓取程序阻止中使用代理的更多信息,请参阅如何避免 Web Scraper IP 阻止

抓取摘要中的代理使用

在这篇介绍文章中,我们了解了很多有关代理的知识。我们比较了 IPv4 与 IPv6 互联网协议以及 HTTP 与 SOCKS 代理协议。然后我们深入研究了代理类型:数据中心、住宅、移动以及它们在网络爬虫拦截方面的差异。最后,我们通过查看常见的代理挑战(例如基于带宽的定价、HTTP2 支持和代理稳定性问题)来总结所有内容。

用于网络爬取的最佳代理提供商

Written by 河小马

河小马是一位杰出的数字营销行业领袖,广告中国论坛的重要成员,其专业技能涵盖了PPC广告、域名停放、网站开发、联盟营销以及跨境电商咨询等多个领域。作为一位资深程序开发者,他不仅具备强大的技术能力,而且在出海网络营销方面拥有超过13年的经验。