如何避免爬取网站时IP被封?

互联网协议 (IP) 地址是识别网络抓取工具的最常见方式。IP 是每个互联网交换的核心,对其进行跟踪和分析可以了解很多有关连接客户端的信息。 在网络抓取中,IP 跟踪和分析(又名指纹)通常用于限制和阻止网络抓取程序或其他不需要的访问者。在本文中,我们将了解什么是互联网协议地址以及如何使用 IP 跟踪技术来阻止网络抓取工具。

IP 地址详情

Internet 协议地址是一个简单的基于数字的地址,用于标识连接来源 -- 它是所有 Internet 连接的主干。如果您在家 -- 您的 IP 是由互联网服务提供商提供给您的,但是,还有更多!

IP版本

这些 IP 地址有两个版本:IPv4 和 IPv6。 关键区别在于 IPv4 池仅限于几十亿个地址。这听起来可能很多,但我们几乎用完了! 另一方面,IPv6 有更多的可用地址,但缺乏现实世界的采用。 由于大多数网络仍然通过 IPv4 运行,并且这些地址的数量有限,这意味着这些地址本质上是一种商品。这就是 IPv4 在指纹识别方面表现更好的原因,因为它的获取成本更高。 换句话说,如果网站发现客户端从 IPv6 地址连接,它会自动降低客户端信任评分,因为这些地址数量更多。 在本文中,我们将坚持使用 IPv4 地址,因为目前还不太可能使用 IPv6 地址进行抓取。

IP地址结构

因此,让我们在识别和跟踪的上下文中看一下 IPv4 地址结构。 IPv4地址由4部分组成:

前两部分是随机分配给 IP 持有者(如 ISP)的网络地址,因此我们可以从中提取的有价值信息非常少。 对于 IP 指纹识别,最后两个数字很重要。 第三个数字称为子网地址,它本质上是一 组 254 个地址的 标识符。在现实世界中,子网通常标识一个地理区域------您和您的邻居很可能共享您的 ISP 提供的相同子网地址,你们每个人都有一个单独的主机地址------地址的最后一个数字。

IP元数据

IP 地址本身提供的有关其所有者身份的信息非常少。因此,IP 元信息数据库用于提供有关连接客户端的更多上下文。这些数据库从公共数据点(如 WHOIS、ARIN 和 RIPE)收集信息并包含大量元信息,例如:

  • ISP 的元数据,如名称、法律细节和 AS 编号
  • IP地址地理位置
  • 连接类型
  • 来源估计:是Proxy IP、VPN还是其他?

我们可以看到我们从这个公共 IP 数据库中获得了多少元数据信息。所有这些细节都可以用来确定这个 IP 被真人或程序使用的可能性。 例如,我们可以看到所有者是某个组织(住宅 IP 将使用"Person"关键字代替)。从注册名称和域名来看,应该是某服务器托管公司。 所以,我们可以看到这是位于加利福尼亚的某个服务器托管公司拥有的 IP 地址------这个连接来自人类用户的可能性有多大?

在网络抓取时,我们希望避免使用可能指示非人类连接的元数据的 IP(例如数据中心拥有的 IP)。相反,我们应该瞄准使连接显得更加人性化的住宅或移动 IP。

IP 是如何被追踪的?

反网页抓取服务使用这两个 IP 详细信息------地址和元数据------为每个客户端生成初始连接信任分数,用于确定客户端是否可取。 例如,如果您从干净的家庭网络连接,该服务可能会以 1 分(可信)开始,让您毫不费力地通过,而无需请求验证码来解决。 另一方面,如果您从繁忙的公共 wifi 连接,则分数会低一点(例如 0.5),这可能会每隔一段时间提示一个小的验证码挑战。 最坏的情况是,如果您从一个繁忙的共享数据中心 IP 连接,您会得到一个非常低的分数,这可能会导致多次验证码挑战甚至完全被阻止。 那么,哪些 IP 数据点对这个分数的影响最大?

IP 是如何被追踪的?

反网页抓取服务使用这两个 IP 详细信息------地址和元数据------为每个客户端生成初始连接信任分数,用于确定客户端是否可取。 例如,如果您从干净的家庭网络连接,该服务可能会以 1 分(可信)开始,让您毫不费力地通过,而无需请求验证码来解决。 另一方面,如果您从繁忙的公共 wifi 连接,则分数会低一点(例如 0.5),这可能会每隔一段时间提示一个小的验证码挑战。 最坏的情况是,如果您从一个繁忙的共享数据中心 IP 连接,您会得到一个非常低的分数,这可能会导致多次验证码挑战甚至完全被阻止。 那么,哪些 IP 数据点对这个分数的影响最大?

另一个常用于计算信任分数的元数据点是IP 类型 本身。虽然元数据没有明确说明地址是住宅地址、移动地址还是数据中心地址,但可以从所有权详细信息中推断出这一事实。 因此,数据中心 IP 的得分较低,因为它很可能是机器人,而移动和住宅 IP 会得到更公平的对待。

Web 抓取中的 IP 地址使用

我们在网络抓取中学到了很多关于 IP 指纹识别的知识。那么我们如何在网络抓取中应用这些信息呢? 为了避免 web scraper 阻塞,我们希望使用具有高信任度的IP 。换句话说,我们应该避免使用元数据数据点薄弱的 IP 地址------任何表明数据中心来源或不可信所有者的 IP 地址。 在大规模抓取时,我们希望通过使用高信任评分 IP 地址的代理池来多样化我们的连接。多样性是这里的关键,因为即使是高信任评分的地址也会在高连通性时期失去其效力。 简而言之:为了绕过网络抓取工具的阻塞,我们需要一个多样化的住宅或移动代理池。有许多不同的子网、地理位置和 AS 编号。

相关推荐
EasyCVR38 分钟前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
明月看潮生1 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
jjyangyou2 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
龙哥说跨境2 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
AltmanChan2 小时前
大语言模型安全威胁
人工智能·安全·语言模型
马船长2 小时前
红帆OA iorepsavexml.aspx文件上传漏洞
安全
懒大王就是我3 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023913 小时前
06 网络编程基础
java·网络
海绵波波1074 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
幺零九零零7 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络