您的位置:首页 > 其它

如何设计一个健壮而且厉害防爬策略

2018-01-08 21:50 316 查看
0.首先你得有一个能扛住爬虫的可以计算黑白名单的数据库,当然我们选择redis,单台 qps 达到20000+,杠杠的,然后你得在不影响业务的情况下来验证爬虫,我们可以通过异步读取nginx的access.log进行校验,前台只需要在关键的功能点判断一下ip是否在黑名单即可
1. 同一个ip在某个功能点一秒两次请求算爬虫,将ip加入黑名单,防住大部分的爬虫
2 .截取一段请求列表,如果某一个useragent出现的频率远远大于该正常该浏览器占有的比例,全部算爬虫,这里容易误杀,可以通过一个强壮的验证码来避免,一定要强壮,要不反而会方便爬虫!这个方法已经验证,特别厉害,特别是半夜没人的时候,杀的爬虫屁滚尿流
3.其他有针对性策略,通过user-agent  referer,等特点,直接永久封禁ip
例如 user-agent 是python urllib,httpclient,等明显的 爬虫的http库等,referer不符合页面跳转逻辑等
4.目前验证码已经很难防住现在的爬虫了,随便去买个第三方的服务,再复杂的验证码也能搞定,现在神经网络太厉害了,
目前的策略是通过手机来解锁被封禁的ip
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  防爬