动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

浅谈HTML防数据采集

05-08 14:54 917浏览
举报 T字号
  • 大字
  • 中字
  • 小字

我们先来搞清楚什么是防数据采集,实际上防数据采集就是我们想利用爬虫工具采集某个网站的数据(前提当然是公开合法数据),但网站不想给你采集而设置的技术阻挡措施。我们也可以看作是一种类似于针对爬虫工具的防火墙。

常见的防止采集方案

1.利用输入验证码框验证,在采集某些网站过程中,要求你输入验证码,否则就卡住进行不下去。这是网站最常用且最基础的防采措施之一,它要求你必须你手动输入验证码里的数字和字母,才能继续看到更多信息或者进行下一步,以此来判断你是机器人还是真人。

2.滑动图片进行拼图验证,它要求你必须滑动拼图到它指定的位置,才能通过验证进行下一步操作。

3.登录验证,这类网站通常需要登录才能看到更丰富的信息,否则只会展现非常有限的内容。

4.数据加密防采集,我们在网页上看到的内容是真实的,但我们打开源代码看,这段文字被已经被加密分离,这样当我们用爬虫工具进行数据采集时,所采集下来的数据就是各种乱码,法整合成一段完整的文字。

5.反馈虚假数据,这种防止采集的方案是把虚假的数据传递给爬虫工具,从而防止数据被采集。

6.禁止访问网页,主要还是看网站的防采机制设计,如果触发了,通常的结果就是全面封锁和禁止。比如封你的账号、封你的IP地址。一旦被封锁,网站会自动给你错误页面或无法让你正常浏览。

如何利用HTML和自定义字体(web-font)来实现数据防采集

web-font是CSS3中的一种标记 @font-face,在@font-face声明里,你可以声明一种字体,指定这种字体字体库文件从网络某个地址下载或直接引用本地的自定义字体文件。例如在css中做如下声明:

@font-face {
	font-family: "icomoon";
	src: url("fonts/icomoon.woff") format("woff"),
	url("fonts/icomoon.ttf") format("truetype"),
	url("fonts/icomoon.eot") format("embedded-opentype"),
	url("fonts/icomoon.svg") format("svg");
}

这样就成功引入了icomoon这个自定义字体。

防采集原理:使用web-font可以从网络加载字体,因此我们可以自己创建一套字体,设置自定义的字符映射关系表。 例如设置1f345是映射字符9,1f371是映射字符2,以此类推。 当需要显示字符9时,网页的源码只会是1f345,被采集的也只会是1f345,并不是9,使采集者采集不到正确的数据。而对于正常访问的用户则没有影响。对于中文的防采集不适合使用web-font这种方法,因为中文的字体库太大。而对于数字,英文则适合使用此方法实现防采集。

其实,某种程度上来说,防数据采集也是一种隐私安全的体现,越来越多的网站和平台注重保护自己的数据安全,维护自己的合法隐私权,动力节点在线的在线视频课程中就有很多网站的防数据采集的实际方案,我们倘若有此方面的需求可以作为参考。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵279
程序员代码小兵279

75篇文章贡献270037字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消