网络刮擦中最难解决的问题之一是扩展,而扩展网络刮擦器时最重要的工具就是代理!
拥有一套质量代用指标可以防止我们的网络搜刮器被堵这意味着我们可以更快地进行搜刮,花费更少的时间维护我们的搜刮器。 那么,怎样的代理才是高质量的网络搜刮代理,有哪些类型的代理呢?
在这篇介绍性文章中,我们将了解一下什么是代理。 有哪些类型的代理,它们之间如何比较,使用代理有哪些常见的挑战,网络搜刮的最佳实践是什么?
代理本质上是位于客户端和服务器之间的中间服务器。 代理有很多用途,如优化连接路由,但最常见的是用于网络搜刮的代理用来伪装客户端的 IP 地址(身份)。
这种伪装可用于访问受地理位置限制的内容(如仅在特定国家提供的网站),或通过多个身份分配流量。
在网络搜刮中,我们经常使用代理服务器来避免被屏蔽,因为来自单一身份的大量连接很容易被识别为非人类连接。
为了进一步了解这一点,让我们来了解一下 IP 地址和代理类型。
目前,互联网使用两种类型的 IP 地址: IPv4 和 IPv6。
这两种协议的主要区别在于
这对网络抓取意味着什么?
由于只有极少数网站支持 IPv6,我们仍然只能使用 IPv4 代理,而由于地址有限的问题,IPv4 代理的成本更高(平均为 IPv4 代理的 3-10 倍)。
尽管如此,一些主要网站确实支持 IPv6(可在各种IPv6 可访问性测试工具),这会大大减少代理预算!
目前主要使用两种代理协议:HTTP和袜子(最新的 SOCKS5)。
在网络刮擦中,这两种协议没有太大的实际区别。 SOCKS 协议往往更快、更稳定、更安全。 另一方面,HTTP 代理被代理提供商和用于网络搜刮的 HTTP 客户端库广泛采用。
有 4 种代理 IP 用于网络搜刮:
none价格, 可靠性(连接速度、IP 轮换等)和隐形得分(被封锁的可能性)。
让我们深入了解每种类型及其在网络搜索中的价值。
数据中心 IP 是商业分配给服务器的,与互联网服务提供商 (ISP) 无关。 这意味着它们通常被标记为高风险僵尸。 通常情况下,这些 IP 也会被许多用户共享,从而进一步增加了标记风险。
从好的方面看,数据中心代理访问广泛、可靠且便宜! 我们建议拥有较强工程资源的团队使用数据中心代理,因为逆向工程设计刮擦目标和设计智能代理旋转算法需要工程时间。
有关高效代理轮换的示例,请参阅我们的介绍文章,了解如何使用加权随机化有效轮换代理。
住宅 IP 由互联网服务提供商分配,这意味着它们被标记的风险较低,因为它们与真实地址相连,并被包裹在更严格的法律框架内。 这意味着,它们非常适合网络搜刮,因为它们与真人使用的 IP 相同!
遗憾的是,住宅 IP较贵而不是数据中心。
此外,这些代理有时会有会话持续性问题#@#with maintaining the same IP for long periods thus often referred to as "Rotating Residential Proxies". This can be problematic for some targets that require the same IP to maintain a connection session. For example, if we're scraping a long booking process of an airline, by the time we reach the last step the proxy might expire fumbling the whole scrape process.#@#
持续的会话丢失要求网络搜刮器反复重新认证会话,从而导致网络搜刮过程中的摩擦,因此最好寻找能够维持长时间会话的住宅代理。
住宅代理对于工程资源有限的团队来说是个不错的选择,因为它们的隐蔽性很高,而且价格相对低廉。
住宅 IP 具有很高的隐蔽性,但由于没有强大的数据中心基础设施支持,因此并不可靠。 如果我们将数据中心代理的可靠性和住宅代理的隐蔽性这两个方面的优点结合起来呢?
ISP 代理服务器(又称静态住宅代理服务器)是数据中心代理服务器,注册为 ISP IP,这意味着它们可以获得住宅代理服务器的大部分隐蔽优势,以及数据中心代理服务器的持久性/网络质量!
我们建议 ISP 代理服务器适用于需要长期保持基于 IP 的会话并避开验证码和反僵尸系统的网络搜刮器。
移动 IP 由移动服务提供商(如 4G 等)分配,由于它们是动态分配给手机信号塔周围的人,因此不会与某个人绑定。 这意味着它们被屏蔽或被迫通过验证码的风险非常低。
移动代理只是住宅代理的更极端版本:保持相同的 IP 可能更难,而且价格更贵。 这些代理服务器的速度往往较慢,可靠性也较低,不过现代服务提供商近来已经在这方面做出了很大改进。
对于工程资源较少的团队来说,移动代理是一个非常好的选择,因为它们可以仅凭来源优势就解决大部分连接阻塞问题!
正如您所看到的,一个明显的模式出现了:IP 越复杂、越罕见,就越难识别,但成本也越高。 代理的复杂性也会降低其可靠性。
那么该选择哪一个呢?
简而言之,这完全取决于您的目标和项目资源。
数据中心代理是绕过简单的速率限制和作为一般安全网的最佳选择。
none
我们通常建议从一个规模较大的数据中心代理池开始,因为这些代理池的成本更低,可靠性更高,然后随着项目的发展再进行评估。
不过,数据中心代理很容易被反窃听保护系统捕获,因为它们确实很容易识别。
有关如何识别、跟踪和阻止代理的更多信息,请参阅我们的介绍文章,该文章解释了什么是 IP 元数据,以及如何使用 IP 元数据对连接进行指纹识别。
我们已经介绍了 4 种代理服务器,但互联网是一个聪明的地方,还有其他一些鲜为人知的方法来掩盖你的 IP 地址。
最常用的替代方法可能是使用虚拟私人网络(VPN)none
由于许多用户共享一个 VPN 出口(如移动代理),这可能是有利的,因为其他用户可以通过解决验证码和像人类一样四处浏览来提高 IP 的隐身分数。 另一方面,情况也可能相反,出口 IP 可能会被其他高级用户完全污染。
因此,总而言之: VPN 方式非常不稳定,而且不同的 VPN 提供商提供的访问权限也大不相同。 为其 VPN 服务器提供 http/socks5 代理访问的供应商并不多,不过,只要掌握一点技术诀窍,VPN 服务器也可以用作代理,用于偶然的网络搜刮项目。
另一种替代代理类型是洋葱网络(TOR). TOR 是一种隐私层协议,许多服务器会将流量转发给其他服务器,以掩盖客户端的来源。
使用 TOR 网络的主要缺点是,它是一个由志愿者驱动的网络,公开的出口节点有限。 这意味着 TOR 网络的隐蔽性很低。 此外,由于协议的复杂性和自愿退出节点的数量有限,TOR 连接速度非常慢,而且经常不可靠。
TOR 可用于网络搜刮,但效果不一,我们不建议将其用于教育目的以外的任何用途。
在选购代理服务器时,我们首先会注意到,大多数代理服务器都是按代理服务器数量定价的。none. 带宽很快就会成为某些网络搜刮方案的巨额预算,因此在选择搜刮代理提供商之前,评估带宽消耗非常重要。
我们很容易忽视带宽的使用,最终导致巨额的代理账单,因此让我们来看看一些例子:
目标 | 平均文档页面大小 | 每 1GB 页数 | 平均值浏览器页面大小 | 每 1GB 页数 |
---|---|---|---|---|
沃尔玛网站 | 16kb | 1k - 60k | 1 - 4 MB | 200 - 2,000 |
Indeed.com | 20kb | 1k - 50k | 0.5 - 1 MB | 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 |
目标网站 | 50kb | 20k | 0.5 - 1 MB | 1,000 - 2,000 |
Crunchbase.com | 50kb | 20k | 0.5 - 1 MB | 1,000 - 2,000 |
G2.com | 100 kb。 | 10k | 1 - 2 MB | 500 - 2,000 |
亚马逊网站 | 200 kb。 | 5k | 2 - 4 MB | 250 - 500 |
在上表中,我们可以看到不同目标的平均带宽使用情况。 如果我们仔细观察,就会发现一些规律:与使用后台资源请求填充页面的动态网站(如 walmart.com)相比,大型 HTML 网站(如 amazon.com)的带宽使用量更大。
另一个占用带宽的例子是使用 Puppeteer、Selenium 或 Playwright 等浏览器自动化工具。 由于网络浏览器的连接精度较低,它们经常会下载大量不必要的数据,如图片、字体等。 因此,有必要在浏览器自动化设置中配置资源阻止规则和适当的缓存规则,以防止带宽开销,但一般来说,浏览器流量的带宽成本会更高。
有关如何优化网络浏览器自动化工具的更多信息,请参阅我们涵盖三大软件包的详尽文章: Puppeteer、Playwright 和 Selenium
在客户端和服务器之间设置中间人会带来很多问题。
最大的问题可能是支持 HTTP2/3 流量. 较新的 HTTP 协议通常是网络搜刮的首选,以避免阻塞。 不幸的是,很多 HTTP 代理都很难处理此类流量,因此在选择网络搜刮代理提供商时,我们建议首先测试 HTTP2 的质量!
另一个常见的代理提供商问题是连接并发性. 通常情况下,代理服务对并发代理连接有限制,这对于功能强大的网络刮擦程序来说可能太小。 因此,我们建议对并发连接限制进行研究,并对低于该限制的刮擦程序进行节流,以防止与代理相关的连接崩溃。
最后,代理确实会给网络搜刮项目带来很多额外的复杂性,因此在使用代理时,我们建议在重试/错误处理逻辑方面投入更多的工程精力。
最后,让我们来看看有关网络搜索中代理的一些常见问题:
none
通常被禁止的代理服务器会在几分钟、几小时或几天内恢复。 虽然有些代理服务器会被各种反搜索保护服务禁止,但永久禁止网络搜索的可能性很小。
网络搜刮中的代理可用于避免搜刮屏蔽或访问受地理限制的内容。 有关代理如何用于网络搜刮屏蔽的更多信息,请参阅如何避免 Web Scraper IP 屏蔽?
在 ScrapFly,我们意识到代理在网络搜索中的复杂性,因此我们的目标是简化流程,同时保持服务的可访问性。
ScrapFly提供请求中间件服务,确保发出的请求得到成功响应。 这是通过结合ScrapFly的独特功能来实现的,如智能代理选择算法、反网络刮擦保护解决程序和基于浏览器的渲染。
ScrapFly 正在使用基于信用的定价模式这比基于带宽/代理数量的定价更容易预测和扩展。 这样就可以根据使用的功能而不是带宽等任意衡量标准灵活定价,这意味着我们的用户不会被锁定在单一解决方案中,可以随时调整他们的刮擦器!
例如,最受欢迎的#@#0/Mo tier can yield up to 1,000,000 target responses#@#基于启用的功能:
要了解这些功能和其他功能,请参阅我们的全部文档!
在这篇介绍文章中,我们学到了很多关于代理的知识。 我们比较了 IPv4 和 IPv6 互联网协议,以及 HTTP 和 SOCKS 代理协议。 然后,我们深入了解了代理类型:数据中心代理、住宅代理、移动代理以及它们在阻止网络搜刮器方面的区别。 最后,我们总结了常见的代理难题,如基于带宽的定价、HTTP2 支持和代理稳定性问题。
现在,您已经熟悉了代理服务器及其挑战--请参阅我们撰写的关于网络搜索最佳代理服务器的比较文章。
none