当前位置: 首页 > news >正文

Python爬虫时被封IP,该怎么解决?四大动态IP平台测评

在使用 Python 进行爬虫时,很有可能因为一些异常行为被封 IP,这主要是因为一些爬虫时产生的异常行为导致的。

在曾经的一次数据爬取的时候,我尝试去爬取Google地图上面的商家联系方式和地址信息做营销,可是很不幸,还只是爬取少量数据就被google的反爬机制把我的IP直接封了。经过各种测试,总结了一些避免踩雷反爬机制的方法,以及被封后如何解决。

一、为什么会踩雷反爬机制

主要原因之一、是同 IP 数据访问频繁。

某个网站一个IP原先几乎不会怎么访问,突然产生了大量的请求,请求数量超过了平均用户访问频率的许多倍,这样反爬机制就会发现异常。如果持续频繁访问,IP就会被封。

主要原因之二、爬虫时产生了异常行为

在编写爬虫程序时,无法注意到所有的请求参数。

比如在写爬虫程序时,发现了一个参数,不知道是怎么计算出来的,但是把这个字段去了发现接口也可以正常调通,然后就顺其自然的忽略这个字段。
在这里插入图片描述

但可能其中某个参数是用于检测是否是爬虫程序的关键,频率高了就被反爬程序封禁。

还有其他的一些反爬的设置,比如验证码输错太多次等等,都有可能触发反爬程序。

二、踩雷了怎么办

踩雷了解决方法其实很简单,反爬机制都是基于 IP 地址进行封禁的,换个 IP 就可以解决所有问题,可以采用动态 IP 的方案。

下面记录几家海外动态住宅IP代理的平台,将从速度、数量、稳定性、特色服务分别对比,避免后续再次探索。

1、Brightdata

Bright Data.CC 前身是Luminati,是一家以色列的公司,是最大和最先进的住宅代理网络,拥有覆盖全球的 72+ 百万个 IP。 通过我们的数据中心、静态住宅、动态住宅和移动网络,Luminati(Bright Data)可以满足您所有需求,提供最优化的解决方案。

Luminati(Bright Data) 的四个网络包含超过 9 种 IP 类型,能够使用规则在9种ip类型之间轻松切换。 同时 Luminati(Bright Data) 提供免费的开源代理管理器和内置代理插件等自动化辅助工具帮助您轻松集成到任何第三方软件中。

速度也挺快,优势很明显,是目前做得最大的一家。唯一的缺点就是:价格太贵!一般团队用不起。
而且以色列人的冷酷是了名了,域名访问限制严格,价格混乱,经常业务和风控团队意见不统一。

2. IPHTML

IPHTML.COM是一家纯正的美国公司,目前已与全球多个网络运营商达成合作,拥有全球197+国家和地区的真实住宅IP资源,他的动态住宅IP拥有全球197+国家和地区的真实住宅IP资源,是来自世界各个国家地区超过2.3+亿的真实家庭住宅代理,可以实现从指定位置访问,避免地理限制。

支持无限并发请求,99.9%成功率,极其稳定的运行时间,可以轻松提高业务整体效率,降低业务成本。凭借其高速稳定、安全隐私、无限流量、经验丰富的客服技术研发团队、全天候多方位的业务场景支持等优势。

在公共数据收集领域,IPHTML正广泛应用在大数据分析、抓取和索引、跨境电商、竞争对手情报、SEO监控优化等领域。

不少中国公司的选品工具、数据挖局工具,背后的提供商是IPHTML。最重要的是,没有任何限制!这家也是我最后选用完成工作的一个平台。

使用方法找了官方的文档:https://github.com/IPHTML/DOC
官网链接:https://iphtml.com/?aff_id=24299

3、Oxylabs

Oxyslab.COM是一家立陶宛的公司,他们代理IP覆盖全球195个国家,超5000+万个纯净优质IP,海外HTTP/HTTPS/SOCKS5代理,企业级IP套餐定制服务,动静态IP,高匿稳定原生IP,代理池稳定。

性能测试

在这里插入图片描述
在计费灵活度方面,BrightdataOxylabs 是订阅的模式,到了月底没使用完的流量就会清0,重新计费,IPHTML 这方便要人性很多,没有要求一定要当月把流量使用完。

价格方面比上面两家稍贵,速度和稳定性还是很不错。缺点是域名限制,我充值之后才发现google的域名默认是被他屏蔽的,需要提交各种说明才能

4、Eastproxy

Eastproxy.COM 也是美国的一家公司,全球动态IP覆盖195+国家,不限国家和城市,支持HTTP/HTTPS/SOCKS5 协议,而且注册不需要KYC。是后起新秀,所以价格是这几家中最划算的。除了动态住宅IP,还有很多静态IP,产品很丰富。

优点价格非常便宜,没有并发和域名限制。缺点是没有中文版网站使用起来不是很顺手但熟悉一下就好了。
这家是我爬虫业务做完之后发现的,目前国内还知道的人并不多。后面有机会实战尝试一下他的IP质量。

四家的价格相对国内一些小厂确实很贵,但一分钱一分货的道理我们还是懂的,为什么贵下面我们再说。

在计费灵活度方面,Brightdata、Oxylabs、Eastproxy是订阅的模式,到了月底没使用完的流量就会清0,重新计费,IPHTML这方便要人性很多,没有要求一定要当月把流量使用完。

还有很重要的一点是 IP 重复率,每家都号称几千万和上亿的IP数量,其实他们都是有侧重点的,有的主要IP在美国,有的在印尼,有的均匀在全球等。还有一点,重复率是指一定时间内同一国家内的IP重复情况。

这是经过几个小时测试的不同平台的重复率情况:

在这里插入图片描述

综合的看的的话,IPHTML会更合适大陆的多账号代理业务,这也是最终选择这个平台的原因。

附上测试代码

curl -s -o /dev/null -w "dns: %{time_namelookup}\ntime_connect: "%{time_connect}"\ntime_appconnect: "%{time_appconnect}"\ntime_pretransfer: "%{time_pretransfer}"\ntime_starttransfer: "%{time_starttransfer}"\ntime_redirect: "%{time_redirect}"\ntime_total: "%{time_total}"\n" -x "代理用户名:代理密码@代理服务器:代理端口" ipinfo.io

相关文章:

Python爬虫时被封IP,该怎么解决?四大动态IP平台测评

在使用 Python 进行爬虫时,很有可能因为一些异常行为被封 IP,这主要是因为一些爬虫时产生的异常行为导致的。 在曾经的一次数据爬取的时候,我尝试去爬取Google地图上面的商家联系方式和地址信息做营销,可是很不幸,还只…...

积分梳状滤波器CIC原理与实现

CIC(Cascade Intergrator Comb):级联积分梳状滤波器,是由积分器和梳状滤波器级联而得。滤波器系数为1,无需对系数进行存储,只有加法器、积分器和寄存器,资源消耗少,运算速率高&#…...

【项目管理】CMMI-原因分析与解决过程(CAR)

概述: “原因分析与解决”通过预防缺陷或者问题的引入以及识别并适当纳入优秀过程性能的原因,改进质量与生产率。 目录 1、文档结构 2、原因分析与解决过程域包括如下活动 3、选择需要加以分析的结果(启动条件) 4、过程活动与实践对照表 5、实例 1、…...

【设计模式】文件目录管理是组合模式吗?

组合模式是什么? 组合模式是一种将对象组合成树形结构以表示"部分-整体"的层次结构的设计模式。它使得用户对单个对象和组合对象的使用具有一致性。 组合模式在什么情况下使用? 当你发现你需要在代码中实现树形数据结构,让整体-部…...

利用appium自动控制移动设备并提取数据

安装appium-python-client模块并启动已安装好的环境 安装appium-python-client模块 在window的虚拟环境下执行pip install appium-python-client 启动夜神模拟器,进入夜神模拟器所在的安装路径的bin目录下,进入cmd终端,使用adb命令建立adb…...

day22_236二叉树最近公共祖先_235二叉搜索树(最近公共祖先_701插入一个节点_450删除一个节点)

文章目录 [236 二叉树的最近公共祖先](https://programmercarl.com/0236.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B1%E7%A5%96%E5%85%88.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE)[235 二叉搜索树的最近公共祖先](https://program…...

OpenSource - 工具管理器easy-manager-tool

文章目录 功能说明运行配置环境配置启动docker部署 项目安全UI展示 Easy-Manager-Tool 打造软件行业首款集成工具,不管你是程序员,测试,运维等都可以使用该软件来提升自己的工作效率。 Easy-Manager-Tool 的诞生是为了解决软件行业众多参与者…...

Laravel7 + easyWeChat 实现微信公众号支付功能

注册服务号,需进行微信认证,此时需缴费 300 元/年,必须是认证成功的服务号才能开通微信支付。 注册微信支付商户号 1、登录 https://pay.weixin.qq.com/index.php/core/home/login?return_urlhttps%3A%2F%2Fpay.weixin.qq.com%2Findex.php%…...

Linux环境下,针对QT软件工程搭建C++Test单元测试环境的操作指南

文章目录 前言一、安装QT二、安装CTest三、使用QT生成.bdf文件四、创建CTest工程注意事项 前言 CTest是Parasoft公司出品的一款可以针对C/C源代码进行静态分析、单元测试、集成测试的测试工具。本文主要讲解如何在Linux环境下,搭建QT插件版的CTest测试环境。 一、…...

16k+ start 一个开源的的监控系统部署教程

安装条件 Linux或macOS系统 4GB内存 开放 33014、33174、3183端口 1.安装 1、下载源码 首先使用 git 克隆源码到本地 git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/ 方式1:运行 install.sh 脚本一键安装 ./install.s…...

Mermaid使用教程(绘制各种图)

Mermaid使用教程(绘制各种图) 文章目录 Mermaid使用教程(绘制各种图)简介饼状图简单的例子应用案例 序列图简单案例应用案例另一个应用案例 甘特图简单案例应用案例一个更为复杂的应用案例 Git图简单案例 总结 简介 本文将主要介…...

OpenAI/ChatGPT Plus 支持的虚拟卡有哪些

最近,有关 OpenAI/ChatGPT Plus 需要信用卡的讨论越来越多。在这篇文章中,我将分享一些我在绑定信用卡过程中得到的经验和教训,以及 OpenAI/ChatGPT Plus 支持的卡类型。 不支持的卡 根据 OpenAI 的地区限制,国内和香港的卡都不…...

ARM多核调度器DSU

1. 背景 从A75开始,ARM提出了一个新的多核心管理系统单元,叫做DSU(DynamIQ Shared Unit)。DSU的核心功能是控制CPU内核,使其成簇Cluster使用,簇内每一个核心可以单独开关、调整频率/电压,能效表现更佳,甚至…...

vue解决部署文件缓存方式

问题:系统上线后,除了bug。紧急修复后,发现安卓正常,ios上海市有问题。通过debug后发现,ios上缓存严重。于是想到了打包文件加时间戳的方式来去除缓存。 vue2 配置打包输出文件名方式: const baseUrl &qu…...

游戏开发中的噪声算法

一、噪声 噪声是游戏编程的常见技术,广泛应用于地形生成,图形学等多方面。 那么为什么要引入噪声这个概念呢?在程序中,我们经常使用直接使用最简单的rand()生成随机值,但它的问题在于生成的随机值太“随机”了&#xf…...

CodeReview 小工具

大家开发中有没有遇到一个版本开发的非常杂,开发很多个项目,改动几周后甚至已经忘了自己改了些什么,领导要对代码review的时候,理不清楚自己改过的代码,只能将主要改动的大功能过一遍。这样就很容易造成review遗漏&…...

UE5 C++ Slate独立程序的打包方法

在源码版安装目录内找到已编译通过的xxx.exe,(\Engine\Binaries\Win64\xxx.exe),在需要的位置新建文件夹,拷贝源码版Engine内的Binaries、Content、Shaders文件夹到目标文件夹内,将xxx.exe放入对应位置,删除…...

探索设计模式的魅力:一篇文章让你彻底搞懂建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,旨在将一个复杂对象的创建过程与其表示分离,使得同样的构建过程可以创建不同的表示形式。 主要角色: 产品(Product):表示正在构建…...

Facebook广告投放指南,如何运营多个Facebook广告账户不被封?

许多卖家做广告投放会选择 Facebook 作为主要的业务和产品推广平台。然而,要在这个竞争激烈的平台上脱颖而出并成功拓宽广告覆盖面并不容易,通常情况下大家会运营多个Facebook广告账号,但是很多人因此遭遇Facebook账号被封的情况,…...

音乐人声分离工具:极简的人声和背景音乐分离工具

项目地址:jianchang512/vocal-separate: an extremely simple tool for separating vocals and background music, completely localized for web operation, using 2stems/4stems/5stems models 这是一个极简的人声和背景音乐分离工具,本地化网页操作&a…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...