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

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

6eb7d472b02d7668aae9283dc05dc47e.jpeg

IP 地址详情

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

IP版本

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

IP地址结构

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

240338b3a52661d9e3b52c40b61a3cb8.jpeg

前两部分是随机分配给 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 编号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/762478.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面向阿克曼移动机器人(自行车模型)的LQR(最优二次型调节器)路径跟踪方法

线性二次调节器(Linear Quadratic Regulator,LQR)是针对线性系统的最优控制方法。LQR 方法标准的求解体系是在考虑到损耗尽可能小的情况下, 以尽量小的代价平衡其他状态分量。一般情况下,线性系统在LQR 控制方法中用状态空间方程描…

汇聚荣拼多多电商好不好?

拼多多电商好不好?这是一个值得探讨的问题。拼多多作为中国领先的电商平台之一,以其独特的商业模式和创新的营销策略吸引了大量用户。然而,对于这个问题的回答并不是简单的好或不好,而是需要从多个方面进行综合分析。 一、商品质量 来看拼多…

【源码+文档+调试讲解】居家养老系统

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了居家养老系统的开发全过程。通过分析高校学生综合素质评价管理方面的不足,创建了一个计算机管理居家养老系统的方案。文章介绍了居家养老系统的系统分…

jvm性能监控常用工具

在java的/bin目录下有许多java自带的工具。 我们常用的有 基础工具 jar:创建和管理jar文件 java:java运行工具,用于运行class文件或jar文件 javac:java的编译器 javadoc:java的API文档生成工具 性能监控和故障处理 jps jstat…

Sourcecodester Fantastic Blog CMS v1.0 SQL 注入漏洞(CVE-2022-28512)

前言 CVE-2022-28512 是一个存在于 Sourcecodester Fantastic Blog CMS v1.0 中的 SQL 注入漏洞。攻击者可以通过 "/fantasticblog/single.php" 中的 id 参数注入恶意 SQL 查询,从而获得对数据库的未经授权的访问和控制。 漏洞详细信息 漏洞描述: 该漏…

JavaScript将参数传递给事件处理程序

本篇文件我们将实现导航栏中,选中时候,会将您选中的进行高亮显示; ● 首先我们来获取我们想要的HTML元素 const nav document.querySelector(.nav);● 接着我们来写选中的高亮显示 nav.addEventListener(mouseover, function (e) { //鼠…

内网穿透小工具

内网穿透小工具 前言 当在本地或者虚拟机,内网搭建了项目,数据库。可是在外网无法访问。下面的两款小工具可以暂时实现内网穿透能力。(不支持自定义域名,但是不限制隧道数量!且免费!免费!免费…

【小贪】项目实战——Zero-shot根据文字提示分割出图片目标掩码

目标描述 给定RGB视频或图片,目标是分割出图像中的指定目标掩码。我们需要复现两个Zero-shot的开源项目,分别为IDEA研究院的GroundingDINO和Facebook的SAM。首先使用目标检测方法GroundingDINO,输入想检测目标的文字提示,可以获得…

互联网框架五层模型详解

注:机翻,未校对。 What is the Five Layers Model? The Framework of the Internet Explained 五层模型互联网框架解释 Computer Networks are a beautiful, amazing topic. Networks involve so much knowledge from different fields, from physics…

[OHOS_ERROR]: Please call hb utilities inside ohos source directory

当执行hb set报如下错误时:原因时重新拉取了源码,且源码路径被改了 [OHOS_ERROR]: Please call hb utilities inside ohos source directory 【解决办法】 卸载hb并在源码路径下重新安装 python3 -m pip uninstall ohos-build 安装hb python3 -m pi…

python-逻辑语句

if else语句 不同于C:else if range语句: continue continue的作用是: 中断所在循环的当次执行,直接进入下一次 continue在嵌套循环中的应用 break 直接结束所在的循环 break在嵌套循环中的应用 continue和break,在…

力扣:LCR 024. 反转链表(Java)

目录 题目描述:示例 1:示例 2:代码实现: 题目描述: 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head [1,2,3,4,5] 输出&#x…

【嵌入式DIY实例】- LCD ST7735显示DHT11传感器数据

LCD ST7735显示DHT11传感器数据 文章目录 LCD ST7735显示DHT11传感器数据1、硬件准备与接线2、代码实现本文介绍如何将 ESP8266 NodeMCU 板 (ESP-12E) 与 DHT11 (RHT01) 数字湿度和温度传感器连接。 NodeMCU 从 DHT11 传感器读取温度(以 C 为单位)和湿度(以 rH% 为单位)值,…

1.5 Canal 数据同步工具详细教程

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…

【你也能从零基础学会网站开发】关系型数据库中的表(Table)设计结构以及核心组成部分

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 关系型数据库中…

FTP 文件传输协议:概念、工作原理;上传下载操作步骤

目录 FTP 概念 工作原理 匿名用户 授权用户 FTP软件包 匿名用户上传下载实验步骤 环境配置 下载 上传 wget 授权用户上传下载步骤 root用户登录FTP步骤 监听 设置端口号范围 修改用户家目录 匿名用户 授权用户 FTP 概念 FTP(File Transfer Prot…

C语言之线程的学习

线程属于某一个进程 共同点:都能并发 线程共享变量,进程不共享。 多线程任务中,其中某一个线程调用了exit了,其他线程会跟着一起退出 如果是特定的线程就调用pthread_exit 失败返回的是错误号 下面也是

VSCode无法识别 node、npm

一、前提 电脑新安装了node.js,在cmd查看node和npm版本没有问题,但是在VSCode无法识别 1.cmd查看版本: 2.VSCode报错信息: 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果…

C#——Property属性详情

属性 属性(Property)是类(class)、结构体(structure)和接口(interface)的成员,类或结构体中的成员变量称为字段,属性是字段的扩展,使用访问器&am…

视频转音频:怎样提取视频中的音频?6个提取音频的小技巧(建议收藏)

怎样提取视频中的音频?当我们想从视频中提取出声音时,通常会遇到很多问题。无论是想单独提取出视频里的音频,还是把它转成方便储存或者分享的音频格式,这都会涉及到视频转音频的一个需求。因此,在这篇指南里&#xff0…