使用爬虫采集网站时,解决被封IP的几种方法

所属分类: 网络安全 / 脚本攻防 阅读数: 390
收藏 0 赞 0 分享
方法1.
之前由于公司项目需要,采集过google地图数据,还有一些大型网站数据。
经验如下:
1.IP必须需要,像@alswl 说的非常正确,ADSL。如果有条件,其实可以跟机房多申请外网IP。
2.在有外网IP的机器上,部署代理服务器。
3.你的程序,使用轮训替换代理服务器来访问想要采集的网站。
好处:
1.程序逻辑变化小,只需要代理功能。
2.根据对方网站屏蔽规则不同,你只需要添加更多的代理就行了。
3.就算具体IP被屏蔽了,你可以直接把代理服务器下线就OK,程序逻辑不需要变化。
方法2.
有小部分网站的防范措施比较弱,可以伪装下IP,修改X-Forwarded-for(貌似这么拼。。。)即可绕过。
大部分网站么,如果要频繁抓取,一般还是要多IP。我比较喜欢的解决方案是国外VPS再配多IP,通过默认网关切换来实现IP切换,比HTTP代理高效得多,估计也比多数情况下的ADSL切换更高效。
方法3.
ADSL + 脚本,监测是否被封,然后不断切换 ip
设置查询频率限制
正统的做法是调用该网站提供的服务接口。
方法4.
8年多爬虫经验的人告诉你,国内ADSL是王道,多申请些线路,分布在多个不同的电信区局,能跨省跨市更好,自己写好断线重拨组件,自己写动态IP追踪服务,远程硬件重置(主要针对ADSL猫,防止其宕机),其余的任务分配,数据回收,都不是大问题。我的已经稳定运行了好几年了,妥妥的!
方法5.
1 user agent 伪装和轮换
2 使用代理 ip 和轮换
3 cookies 的处理,有的网站对登陆用户政策宽松些
友情提示:考虑爬虫给人家网站带来的负担,be a responsible crawler :)
方法6.
尽可能的模拟用户行为:
1、UserAgent经常换一换;
2、访问时间间隔设长一点,访问时间设置为随机数;
3、访问页面的顺序也可以随机着来
方法8.
网站封的依据一般是单位时间内特定IP的访问次数.
我是将采集的任务按 目标站点的IP进行分组 通过控制每个IP 在单位时间内发出任务的个数,来避免被封.当然,这个前题是你采集很多网站.如果只是采集一个网站,那么只能通过多外部IP的方式来实现了.
方法9.
1. 对爬虫抓取进行压力控制;
2. 可以考虑使用代理的方式访问目标站点。
-降低抓取频率,时间设置长一些,访问时间采用随机数
-频繁切换UserAgent(模拟浏览器访问)
-多页面数据,随机访问然后抓取数据
-更换用户IP
更多精彩内容其他人还在看

PHP Mysql 密码暴力破解代码,本机暴力破解 3306 端口

PHP Mysql 密码暴力破解,本机暴力破解 3306 端口,源码。代码简单的不能再简单了,就不解释了,功能很简单
收藏 0 赞 0 分享

PHP+MySQL手工注入语句大全 MySQL手工注入语句总结

PHP + MySQL 手工注入语句大全,MySQL 手工注入语句总结,MySQL,注入语句。暴字段长度 匹配字段 暴字段位置 利用内置函数暴数据库信息 不用猜解可用字段暴数据库信息(有些网站不适用): 操作系统信息
收藏 0 赞 0 分享

PHP 双字节、宽字节编码漏洞

PHP 双字节、宽字节编码漏洞。看了《黑防09精华》这篇《双字节编码 php的隐形杀手》,记录一下。还是用一个demo.php显示效果
收藏 0 赞 0 分享

ODOR1–PHP extract 后门使用方法

这篇文章主要为大家介绍了PHP extract 函数后门的使用方法,大家在检查后门的时候可以多关注一下,需要的朋友可以参考下
收藏 0 赞 0 分享

过安全狗/D盾/360的PHP一句话木马与防范方法

这篇文章主要介绍了过安全狗/D盾/360的PHP一句话木马,需要的朋友可以参考下
收藏 0 赞 0 分享

分享PHP场景中getshell防御思路

本文主要分享一下防御思路。防御方案主要想解决的问题是getshell、主机敏感文件泄漏等问题
收藏 0 赞 0 分享

SQL注入测试实例分析

这篇文章主要为大家介绍了SQL注入测试实例分析,对于数据库安全非常重要,需要的朋友可以参考下
收藏 0 赞 0 分享

帝国备份王(Empirebak)万能cookie及拿shell方法与防御

这篇文章主要介绍了帝国备份王(Empirebak)万能cookie及拿shell方法与防御,需要的朋友可以参考下
收藏 0 赞 0 分享

各种网页挂马方式原理揭密(iframe挂马,script 挂马,图片伪装挂马等)

现在,网站经常被各种网页挂马,为了保障大家网站的安全和互联网用户的安全,有必要对网页挂马有所了解。查了一些资料,由于存在大量的黑客软件,一个菜鸟只需几分钟就可以编写一个木马网页,对别人的网站进行挂马了
收藏 0 赞 0 分享

SQL注入攻击(攻击与防范)

SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉
收藏 0 赞 0 分享
查看更多