前嗅网络发表于2020年11月27日14:24最后回复于2020年11月27日14:24

前嗅教你大数据:常见的网站反爬策略与解决方案

152浏览量

0评论

作者 | 前嗅

来源 | 前嗅大数据(www.forenose.com)


大家在采集数据的过程中经常会遇到网站反爬的情况,不同网站反爬策略也不尽相同。


今天,前嗅为大家总结了我们平时经常碰到的几种反爬策略,以及解决方法。

网站反爬,原理是服务器通过访问者请求中夹带的一些访问者的信息,来识别访问者,并对访问者进行限制。

比如服务器通过请求识别到访问者IP,对同一个IP访问频率做出了限制,那么当同一个IP访问频率超过限制时,访问就会出现问题。




前嗅ForeSpider数据采集引擎根据网站常见的几种反爬策略,研发了对应解决的设置,用户在使用过程中可以针对不同反爬,进行对应的设置,常见的反爬策略及解决方案有以下几种:


-01-

限制用户IP访问频率


通常表现为:

当使用本地IP采集速度高于某频率时,就会出现采集错误,页面重定向等情况。

当访问者IP信息存储在cookie中时,会增加爬虫难度。


解决方案

1.cookie中没有记录IP时

需要使用动态短效代理IP/隧道代理IP,根据网站限制IP强度,调整采集速度,购买适量代理IP,在ForeSpider爬虫IP代理处设置即可。



2.cookie中记录IP时

需要使用静态长效代理IP,根据网站限制IP强度,调整采集速度,购买适量代理IP,在ForeSpider数据采集系统IP代理处设置即可。





-02-

限制用户ID访问频率

 

通常表现为:

采集一段时间后,停止采集/采集错误,浏览器中该页面显示不出来(页面重定向、有验证码、错误页面等情况),清空浏览器浏览记录后,再次打开又可以正常显示。


遇到这种情况时,可以通过观察页面的cookie来确认服务器是否限制用户ID。

当访问页面的cookie中有UID或其他ID字符串时,表示服务器对用户ID有识别。还有一种对UID加密的情况,这时cookie中有一串加密后的字符串。


解决方案:

使用ForeSpider采集器高级设置中的多通道采集功能,并设置最大登录用户数,设置代理IP(使用静态长效代理IP),通过模拟多用户浏览网站,来解决网站对ID的限制。

 




-03-

IP&ID双重限定


通常表现为:

采集一段时间后,停止采集/采集错误,浏览器中该页面显示不出来(页面重定向、有验证码、错误页面等情况),清空浏览器浏览记录后,再次打开又可以正常显示。

爬虫设置为多通道采集后采集一段时间发现IP被封了。也可通过观察页面cookie中是否既有IP又有UID/UID加密的信息,来进行判断。


解决方案:

使用ForeSpider数据采集系统高级设置中的多通道采集功能,同时打开动态IP锁定,设置好代理IP(使用静态长效代理IP),并设置最大登录用户数,来解决网站对账号的限制。如下图所示:




-04-

限制用户账号访问频率


通常表现为:

网站需要登录,登录后采集账号被封。这种情况一般是由于服务器识别用户账号,并限制用户账号访问频率导致的。


解决方案:

注册多个账号,供封号后替换使用。

 



-05-

用户账号&用户IP双重限制

通常表现为:

网站需要登录,登录后采集账号被封,IP也被封。使用多通道或者用代理IP采集均无效果。这种情况是由于服务器对用户账号和访问IP双重限制导致的。


解决方案:

注册多个账号,供封号后替换使用;降低采集速度,使用静态长效代理IP进行采集。

 

如果大家在采集过程中遇到以上的情况,绝大多数都是网站反爬导致的。

只要找好反爬策略,对症下药,就可以有效解决问题。



——如果你觉得不错,点个转发、在看吧。


欢迎添加前嗅微信


作者简介

前嗅,企业级大数据供应商,多年来致力于大数据技术研究与开发,自主研发了一套数据采集、挖掘、清洗、分析及可视化的数据处理系统,拥有上万家企业用户。热衷于为大家解决各种数据问题,服务号“前嗅”,微博“@前嗅大数据”,欢迎关注。


发布新帖

私信

举报