博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文章正在审核中 为什么使用了爬虫代理ip,真实IP还是被封禁了?
阅读量:6236 次
发布时间:2019-06-22

本文共 1207 字,大约阅读时间需要 4 分钟。

很多朋友在刚做爬虫的时候会遇到一个问题,明明我已经使用了,开开心心地去抓取某一个网站,正想去泡一杯咖啡,发现爬虫程序终止了, 一查,真实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

你可能感兴趣的文章
ethereumjs/merkle-patricia-tree-1-简介
查看>>
记录前端工作中用的一些常用的函数(二)
查看>>
iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建...
查看>>
iOS开发——高级技术&调用地图功能的实现
查看>>
关于mail mailx 以及sendmail 的理解
查看>>
解决 由于本机的限制,该操作已被取消。请与系统管理员联系
查看>>
团队-及格成绩查询系统-模块测试过程
查看>>
[日记]夜滑
查看>>
详解 CSS 绝对定位
查看>>
[高数][高昆轮][高等数学上][第一章-函数与极限]04.无穷小与无穷大
查看>>
委托转换,委托重载
查看>>
基于Java反射的map自动装配JavaBean工具类设计
查看>>
不同网络层的协议与工具
查看>>
sass,compass让开发效率飞起
查看>>
mac效率工具
查看>>
unity 发布.exe的相关设置
查看>>
android icon设计规则
查看>>
Excel 返回第2大的值
查看>>
1576 最长严格上升子序列
查看>>
LINUX GBK->UTF-8文件编码批量转换脚本[转]
查看>>