构建数据集的一种极好的方法是抓取网络。当 Common Crawl 或官方 API 等来源无法满足您的项目要求时(例如,数据不够新或 Twitter 定价过高),它变得尤为重要。然而,网络抓取也有其自身的挑战,例如验证码和地理限制。这是我们的英雄——代理人——登场的地方。
代理服务器是另一台计算机(服务器、电话,甚至物联网设备),可让您通过自身访问网络。这样,您就可以从一个可选的不同位置获得一个新的 IP 地址。代理很像 VPN——不同之处在于您可以同时使用许多代理,而不是仅仅使用一两个连接。
随着网站实施速率限制和更复杂的限制以防止自动访问,代理服务器变得越来越必要。有时,出于充分的理由,尽管通常是为了保护他们的商业利益或垄断数据。代理不会解决您所有的问题;但除了基本卫生,例如使用真实的用户代理,它们是保持网络抓取程序运行的最有效方法。
本指南将使您深入了解网络抓取环境中的代理服务器。它包含理论知识以及我们为年度代理市场研究收集的一些实际数据。
当网络抓取者(人们)遇到代理需求时,他们的第一反应是尝试免费代理列表。这些名单可在线公开获得;其中的大多数代理来自易受攻击或管理不善的服务器。
免费代理列表的一大问题是您永远不知道谁在运行它们。运营商可能有恶意,这可以表现为广告注入、流量记录和其他令人讨厌的事情。这听起来很可怕,但它不太可能对您作为数据科学家产生太大影响:您可能不会在操作系统级别配置代理或使用它们来访问您的银行帐户。
一个更无聊但更现实的问题是免费代理根本不可靠。
他们很少长时间在线;确实运行的那些慢得令人难以忍受,因为它们有数百个租户;而且由于他们有数百个租户,因此此类代理很快就会与任何相关网站脱颖而出。不是一个很好的工具。
出于这个原因,我强烈建议付费购买商业代理服务。
代理服务器通常按 IP 来源分类。出于网络抓取目的,您很可能会在三种类型之间进行选择:数据中心、住宅或 ISP(也称为静态住宅)代理。
这些代理托管在数据中心的服务器上。它们可以是亚马逊云服务 (AWS) 的实例或来自任何其他云托管提供商。 IP 数据库将数据中心代理视为属于托管或数据中心范围。
数据中心代理通常在强大的硬件和互联网连接上运行,因此您可以快速抓取大量数据。对于不监控 IP 声誉但与监控 IP 声誉的网站斗争的目标,它们可能是一个非常有效的选择。
这些代理来自真人的住宅设备(因此得名)。例如,它们可以在 Windows 笔记本电脑、Android 手机或 Wi-Fi 智能冰箱上运行。 IP 数据库将住宅代理分类为固定电话或移动连接。
住宅代理总是来自世界各地的大量地址。它们不如数据中心 IP 可预测,因为它们依赖于主机设备的连接质量和可用性。然而,正是这个特性使得住宅代理对各种网站都非常有效,因为它们看起来像普通访问者。
这些代理托管在数据中心的服务器上,但在 Verizon 等消费者互联网服务提供商名下注册。这是通过与 ISP 签订合同并让它在其网络上公布 IP 来实现的。理想情况下,IP 数据库应将此类代理识别为固定电话或移动连接。但有时,较小的区域 ISP 仍被归类为数据中心。
ISP 代理保留了数据中心代理的质量,但由于 IP 信誉更好,因此能够更有效地抓取数据。
此时,您可能会想,“哇,等一下!安卓手机?听起来很像僵尸网络!这甚至合法吗?这是一个很好的问题,它表明你关心。许多人没有。
事实上,商业代理服务器和僵尸网络之间只有一线之隔。它不太适用于供应链非常清晰的数据中心代理:云主机购买 IP,将它们放在服务器上,然后将地址租给代理提供商。但是道德问题与住宅代理网络非常相关。
在不深入研究该主题的情况下,可以通过多种方式获取住宅代理。最流行的方法是通过桌面和移动应用程序中的 SDK。该视频给出了具体示例。
另一种方法是直接用流量换取服务(例如免费 VPN,请参阅 BrightVPN)或金钱(使用 Honeygain 等带宽共享应用程序)。
在任何情况下,代理提供商都有责任确保 IP 来源了解并同意该安排。您应该能够在提供商的网站上找到有关代理采购和使用方法的信息。这显着降低了您使用僵尸网络的机会。
代理服务器可能根据租赁和轮换有不同的配置。
第一个标准描述了有多少人可以同时使用同一个代理服务器。所有免费代理列表都有可能有数百个租户,而商业代理提供商会施加限制。在市场术语中,共享或半共享意味着您将与其他几个人(通常是一到四个)使用同一代理服务器。私有或专用意味着您将单独为所有或特定域使用代理。
选择租赁的能力是数据中心和 ISP 代理的一项功能,因为提供商对它们拥有完全所有权。它不适用于住宅代理,但相关性也较低——住宅用户具有更自然的浏览模式,并且不太可能使网站因请求而过载。
第二个标准,轮换,显示代理服务器是否自动切换。那些不常出现在格式为 IP:Port (1) 的代理列表中。确实采用 endpoint:port (2) 格式的那些:
192.168.0.1:10000
en.proxyprovider.net:10000
端点充当提供商代理池的网关。它会自动通过后端的不同地址路由您的请求。即使 IP 地址发生变化,端点也保持不变。
轮换代理对于网络抓取非常方便,因为您可以访问实际上无限数量的 IP(数千到数百万)。然而,此类服务通常会收取流量费用,而静态代理列表往往会提供无限流量。
让我们根据它们的各种特性来比较所讨论的代理类型。
在轮换代理网络的情况下,住宅代理的成本大约是数据中心地址的 8 到 10 倍,比轮换 ISP 代理网络少一点。
静态代理网络通常按 IP 地址收费。与 ISP 代理相比,数据中心代理服务器的成本要低两到三倍,具体取决于您购买的数量。
尽管通过不可预测的最终用户设备路由流量,但主要的住宅代理网络运行良好。对于网络抓取目的(当 IP 随每个连接请求轮换时),它们传输数据几乎与数据中心代理一样好:
我们也没有看到延迟有很大差异。以下是对全球 CDN(响应大小为几千字节)和亚马逊(大约 1 MB 响应大小)的最近服务器发出请求的响应时间:
数据中心和 ISP 代理占主导地位的一个领域是吞吐量。他们有更宽的管道来传输数据。一些住宅代理可能非常快,但您也可能会遇到无法达到 1 Mbps 的服务器。可预测性要低得多。
数据中心和 ISP 代理几乎可以 24/7 全天候运行,只有在发生中断或维护时才会离线。住宅代理的正常运行时间取决于多种因素,例如它来自 Windows 还是 Android 设备。在任何情况下,与基于服务器的代理相比,它都更短且更不可靠。
我们编写了一个脚本,每 20 秒对 IP 数据库执行一次 ping 操作,以查看住宅 IP 地址更改的频率。以下是一些结果:
数据中心代理与谷歌或社交媒体等受保护或非常受欢迎的网站作斗争。通过选择使用历史更清晰的专用 IP,可以在一定程度上缓解这种情况。
有时,从数据中心 IP 范围连接足以让网站不让您进入。在这种情况下,唯一的办法是使用不同的代理类型。
默认情况下,ISP 代理具有更好的 IP 信誉,因此他们面临的初始审查较少。然而,与真实的居住地址相比,它们的浏览模式仍然不太真实。住宅代理服务器形成大型池,非常多样化,并与真实的人共享浏览历史。这些品质使他们很难与网站的更广泛受众区分开来。
数据中心和 ISP 代理托管在数据中心,可用数据中心的数量有限。最常见的位置可能是阿什本,尽管主要提供商可以为您提供来自数十个国家/地区的数据中心 IP。但是,如果您需要较小区域的地址,尤其是非首都城市的地址,您将不走运。
住宅代理没有这样的限制——只要有设备和愿意的参与者,任何地方的任何人都可以加入。因此,主要供应商可以在所有国家/地区提供具有城市、ASN,有时甚至是邮政编码定位的 IP。
根据我们对主要代理提供商的调查,大多数人选择住宅代理作为他们最受欢迎的产品。只有两个提供商指定了数据中心代理服务器,没有 ISP 代理。
近年来,随着亚马逊、谷歌、LinkedIn 等主要目标加强了安全系统,数据中心代理一直在减少。 ISP 代理有能力取代他们的位置,但他们的采用受到采购困难的阻碍——很难获得信誉良好的 ISP。
但足够的理论。您如何将这些知识应用到您的项目中?我已经使用代理服务器建议为多个场景建模。
为了使本文不涉及商业利益,我不会提及特定的提供商。如果您需要一些建议,我们会在我们的网站上比较主要供应商(免责声明:我们与大多数这些公司有关联关系。但是,这对我们的市场报告没有影响。)
示例:抓取小型新闻门户网站、电子商务网站,甚至是非 Google 搜索引擎。
建议:轮换数据中心代理。您可以以 0.7 美元/GB 或更低的价格访问包含 2,000–100,000 个轮换 IP 的池。您不必担心更换被阻止的 IP,而且流量成本足够低,可以提取一些重要的数据。
示例:从流媒体服务下载视频或从图像聚合器下载图片以供存档。
建议:静态数据中心或 ISP 代理。他们速度快,不计算流量支出。当网站允许时使用数据中心代理,否则使用 ISP 代理。
示例:在整个网络中搜索品牌提及。
建议:静态数据中心或 ISP 代理。爬取需要大量数据,所以最好选择不以流量为主要指标的代理类型。此外,当您切换目标时,即使是有限数量的 IP 也会带您走得很远。
示例:从 LinkedIn 中提取招聘广告,从 G2 中提取公司信息,或从社交媒体网络中提取标签帖子。
建议:住宅代理。有了实际上无限数量的 IP,您就不会冒险禁止您的代理。此外,与其他代理类型相比,您将获得更高的成功率。
示例:跟踪股票价格变动。
建议:如果网站允许,则使用数据中心代理;否则,ISP 代理**。** 它们的快速连接速度可确保您提取出现的数据。
示例:监控本地化 Google 查询的搜索引擎页面位置。
建议:住宅代理,因为它们支持城市级 IP 过滤。
本文向您简要介绍了用于网络抓取目的的代理服务器。阅读后,您应该能够区分主要代理类型、配置以及哪种设置最有利于您的数据科学项目。