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

news/2024/7/19 9:31:37 标签: python, 爬虫

在使用 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

http://www.niftyadmin.cn/n/5338302.html

相关文章

CMU15-445-Spring-2023-分布式DBMS初探(lec21-24)

Lecture #21_ Introduction to Distributed Databases Distributed DBMSs 分布式 DBMS 将单个逻辑数据库划分为多个物理资源。应用程序(通常)并不知道数据被分割在不同的硬件上。系统依靠单节点 DBMS 的技术和算法来支持分布式环境中的事务处理和查询执…

ElasticSearch使用篇

目录 一、 概述 二、创建索引 三、查询索引 四、删除索引 五、修改索引 六、批量操作 6.1 批量写入 6.2 批量创建文档create 6.3 普通创建或全量替换index 6.4 批量删除delete 6.5 批量修改update 6.6 组合应用 6.7 批量读取 一、 概述 es的操作是基于 Restful 风格…

Druid监控 + 多数据源配置

application.yaml yaml配置文件的配置。 # 数据源配置 spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverdruid:# ps# 主库数据源master:url: jdbc:mysql://localhost:3306/jzm?useUnicodetrue&characterEncod…

C# 程序结构

文章目录 前言一、C# 程序结构命名空间(Namespace)类(Class)方法(Method)语句(Statement 二 、简单的C#程序结构示例示例代码分析第一个Hello World 程序总结 前言 C#基础学习入门系列- C# 程序…

kafka(一)——简介

简介 Kafka 是一种分布式、支持分区、多副本的消息中间件,支持发布-订阅模式,多用于实时处理大量数据缓存的场景,类似于一个“缓存池”。 架构 Producer:消息生产者;Consumer:消息消费者;Brok…

easydarwin 下面easywasmplayer和easyplayer

拷贝大佬们,起码验证能用再写文章,找到的各种坑 easydarwin/easywasmplayer - npm 区别 easyplayer:在与vue2结合的时候没有问题,但是用在vue3中,就是提示各种缺东西,你就是将所有文件引入到index.html都…

解决Unity WebGLInput插件全屏输入的问题

unity webgl的中文输入插件WebglInput在全屏的时候会出现无法输入中文/输入的英文会字母出现在光标后面/什么都输入不了的等无法正常使用的情况。 插件官网作者给出了unity的2017,2018,2019版本的全屏输入解决方法。 最新插件下载地址:http…

linux内核源码编译2.6失败

centos7环境 iso选择 https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso 自带qemu,未实测是否可用 选择编译版本2.6 下载地址 遇到的编译错误解决 yum list | grep curses yum install ncurses-devel.x86_64 -y yum i…