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

文章正在审核中 为什么使用了爬虫代理ip,真实IP还是被封禁了?

很多朋友在刚做爬虫的时候会遇到一个问题,明明我已经使用爬虫代理ip了,开开心心地去抓取某一个网站,正想去泡一杯咖啡,发现爬虫程序终止了, 一查,真实ip被封了,这时候会非常纳闷,我明明用了代理ip了啊,为什么我的真实IP还是会被封呢?是不是IP质量与问题?我被代理IP提供商给欺骗了?

当然不排除这个可能,比如使用透明代理,目标服务器明确知道你使用了代理,也能知道你的真实IP,当然会被封禁;又如普匿代理,目标服务器知道你是一只披着羊皮的狼,当然也会封禁你的真实IP;而如果使用高匿代理ip,高匿ip代理则是和正常家庭上网一样,没有什么区别。如果使用透明代理、普匿代理被目标服务器识别后被封IP,那应该就是代理IP的质量不行。但是,使用高匿代理IP后,还是被封IP,这到底是怎么回事呢?

首先我们要清楚地知道,爬虫程序为什么需要代理IP?代理IP有什么作用?代理IP的原理是什么?之所以需要代理IP,是因为单IP频繁的爬取某个目标服务器,会对服务器造成巨大负载,服务器自然要作出一定的限制(限制访问频率或者限制访问次数,其根本是减少服务器压力),那如果超出限制的频率或者次数呢,反爬程序就会工作,比如把这个IP封禁,或者把整段IP进行封禁。而代理IP的作用就是代替被封的IP继续爬取,当到达了那个阈值时,这个代理IP一样会被封的,然后封了一个代理IP,还有千千万万个代理IP,前仆后继,只为完成爬取任务。由此可见,代理IP被封是很正常的,很多朋友认为,我用了代理IP,为什么要封我,我是不是买了个垃圾IP代理?然后就来找客服投诉,说自己被骗了,要求退款。

其实封IP有很多种原因,上面那种被封情况是不可避免的,并不是使用了代理IP就不会被封了。但也有不正常被封的,比如使用了“垃圾代理”(透明代理)。还有使用了高匿代理ip,也没有爬取几次就被封了的情况,这是为什么呢?那是因为没有很好的模拟人工访问服务器的行为,也就是说爬取策略不当,比如没有清除cookie等原因,也有可能是目标服务器的反爬策略升级了,代理IP被封的原因有很多种,而找出原因,让每个代理IP能发挥出最大的作用则是爬虫工作者的工作职责,也就是升级爬虫策略。

上文中我们提到,当超出限制的频率或者次数呢,反爬程序就会工作,比如把这个IP封禁,或者把整段IP进行封禁。这也就是为什么有些代理IP可用率低的原因,因为当某个IP段被封禁后,你拨出的下一个IP也是被封禁的,所以不可用,造成整体IP可用率很低,浪费很多时间,这是为什么呢?

因为很多ADSL拨号的代理IP,拨出来的IP是连号的, 这样的IP显得很假,跟正常用户访问的区别也很大,所以会有很多反爬程序会设置封禁整段IP地址,造成批量IP不可用,所以最好的IP资源是IP分散分布的不连号的,能够有效地提高各项业务的效率。

转载于:https://blog.51cto.com/14065782/2341634

相关文章:

  • elasticsearch-head插件安装
  • Git 常用命令
  • [转]Introduction of iSCSI Target in Windows Server 2012
  • 【转】理解红黑树
  • FastDFS-图片服务器
  • Volo.Abp.EntityFrameworkCore.MySQL 使用
  • Future 和 FutureTask 源码详解
  • redis requires ruby version 2.2.2的解决方案
  • 百年老站换新颜 河南信阳火车站重新开通迎客
  • 零基础学算法-质数
  • 日本一名高龄男子开车冲上人行道 造成共7人受伤
  • 消息队列使用的四种场景介绍
  • python序列之元组介绍
  • NBA全明星队长选人环节将直播 又有什么新故事?
  • 过渡
  • python3.6+scrapy+mysql 爬虫实战
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • ES10 特性的完整指南
  • extjs4学习之配置
  • IOS评论框不贴底(ios12新bug)
  • Javascript弹出层-初探
  • Java应用性能调优
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • NSTimer学习笔记
  • PAT A1050
  • React Transition Group -- Transition 组件
  • 安卓应用性能调试和优化经验分享
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 基于axios的vue插件,让http请求更简单
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 怎么将电脑中的声音录制成WAV格式
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #FPGA(基础知识)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (4)Elastix图像配准:3D图像
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (分布式缓存)Redis哨兵
  • (转)socket Aio demo
  • *** 2003
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .Net 代码性能 - (1)
  • .net 反编译_.net反编译的相关问题
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net6+aspose.words导出word并转pdf
  • .Net中间语言BeforeFieldInit
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @property @synthesize @dynamic 及相关属性作用探究