大数据时代如何保护数据,反爬虫窃取的实用
大数据时代,数据就是金钱,很多企业都为自己的网站运用了反爬虫机制,防止网页上的数据被爬虫爬走。简单低级的爬虫速度快,伪装度低,如果没有反爬机制,它们可以很快的抓取大量数据,甚至因为请求过多,造成服务器不能正常工作。而伪装度高的爬虫爬取速度慢,对服务器造成的负担也相对较小。所以反爬的重点先是把那种简单粗暴危害大的爬虫先阻击在门外,然后再来对付那些伪装度高的爬虫。
大型网站,门户网站都会有自己的反爬虫制约机制。爬虫不是以浏览器方式来访问页面的,爬虫只下载网页的源代码这是区分爬虫与否的一个关键。
反爬虫思路要考虑以下几点:
1、能被google、百度等正规搜索引擎爬虫抓取,不限流量和并发数;
2、阻止山寨爬虫的抓取;
3、反爬虫策略应该是实时检测的,而不是通过一段时间后的访问统计分析得出;
4、误判后的人性化处理;
反爬虫的实用方法:
1、验证检查User-Agent;
2、增加图形验证、拖动、拼图等人机验证;
3、前端js script 实时计算 parameter 加给请求在后端进行验证;
4、检测 Cookie 中 session_id 的使用次数,如果超过限制,就阻止访问;
5、IP计数器,在 redis下给每个IP做计数,利用redis key的过期机制,每次计数累加时将key设定在一定的时间内过期。
6、动态生成url的key;
7、增加异地手机设备更换登录时需要动态验证手机短信;
8、异步加载嵌套在iframe里面的,并且 src="about:blank" ;
9、修改字体库让爬虫得到的数据不准确或者无用的数据(电商较多);
10、ajax加载数据。
总结
如果反爬机制过于严格,可能会误伤到真正的用户。如果既要和爬虫死磕,又要保证很低的误伤率,那么又会增加研发的成本。爬虫与反爬虫的斗争从未停止,反爬虫程序员一直在与爬虫程序员做斗争。