在数据爬虫的工作中,我们不可避免的会遭遇反爬封禁,所以会有爬虫的攻防,在攻和守之间两股力量不断的抗衡。

 

接下来就讲讲在数据抓取或爬虫时ip被限制的几种解决方案问题:

 

解决方案一:

建议一定要使用代理IP;在有外网IP的机器上,部署爬虫代理服务器;使用轮训替换代理服务器来访问想要采集的网址。这样的话,你的程序逻辑变化小,只要代理功能就可以,而且根据对方网址屏蔽标准不同,你只需要添加不同的代理就可以了。再者,就算具体IP被屏蔽了,可以直接把代理服务器下线,程序逻辑不需要变化。

 

解决方案二:

使用ADSL+脚本,监测是否被封,之后不断切换ip;设置查询频率限制,也就是限制调用该网站提供的服务接口。


 8.151.png


解决方案三:

useragent伪装和轮换,使用IPIDEA全球http和轮换,cookies的处理。

 

解决方案四: 

网站封IP的依据一般是单位时间内特定IP的访问次数过多,很多网址时可以将采集的任务按目标站点的IP进行分组,之后通过控制每个IP在单位时间内发出任务的个数来避免被封。

 

解决方案五:

尽可能的模拟用户行为,比如UserAgent经常换一换,访问时间间隔设长一点,访问时间设置为随机数;访问页面的顺序也能随机。

 

解决方案六:

对爬虫抓取进行压力控制;可以考虑使用代理的方式访问目标站点:减少抓取频率,时间设置长一些,访问时间运用随机数;频繁切换UserAgent(模拟浏览器访问);多页面数据,随机访问之后抓取数据;更换用户IP,这是最直接有效的方法。


上一篇:代理服务器用途有哪些

下一篇:不同类型的IP代表的含义