网站生成静态页面攻略4-防采集而不防搜索引擎策
众所周知,采集程序大多依赖于规则分析进行数据采集,如分页文件名规则和页面代码规则。今天,我们将深入这两种规则的防采集策略,并分享一些实用的实施方法。
一、分页文件名规则的防采集策略
大部分采集器通过分页文件名规则来进行批量多页采集。那么,如何让别人无法找出你的分页文件的文件名规则,从而阻止采集呢?
一种有效的方法是使用MD5加密分页文件名。虽然有人可能会模拟你的加密规则,但我们可以增加加密的复杂性。例如,不要仅加密文件名变化的部分。如果I代表分页的页码,我们在加密时,可以在I后加上一个或多个随机字母,然后进行MD5加密。由于MD5是无法轻易解密的,采集者无法知道你在I后面加入的字母是什么,除非他们采用暴力破解MD5,但这并不现实。
二、页面代码规则的防采集策略
如果我们的内容页面没有固定的代码规则,那么采集者就无法从代码中提取他们需要的内容。我们需要使代码变得无规则,以阻止采集。
一种实现方法是使对方需要提取的标记随机化。我们可以定制多个网页模板,每个模板的重要HTML标记都不同。在呈现页面内容时,我们可以随机选择网页模板。有的页面使用CSS+DIV布局,有的页面使用table布局。虽然这种方法比较麻烦,需要为同一个内容页面制作多个模板,但防采集本身就是一件繁琐的事情,所以多做一个模板是值得的。
还有一些简单的思路可以分享给大家:
1. 把对数据采集者重要但对搜索引擎不重要的内容用客户端脚本显示。
2. 把一页数据分为N个页面显示,加大采集难度。
3. 使用更深层的链接。目前大部分采集程序只能采集到网站内容的前3层,如果内容所在的链接层更深,也可以避免被采集。但这样可能会给客户造成浏览上的不便。
只要做好了防采集的第一步(加密分页文件名规则),防采集的效果就已经不错了。但为了让采集者知难而退,建议结合使用两种防采集方法,给采集者增加难度。同时我们也要明白,真正的防采集不仅仅是技术上的对抗,更是对网站内容价值和用户体验的坚守。在保护网站数据的我们也要确保网站的正常运行和用户的良好体验。
编程语言
- 网站生成静态页面攻略4-防采集而不防搜索引擎策
- Spring AOP代理详细介绍
- Angularjs之ngModel中的值验证绑定方法
- Vue.js在数组中插入重复数据的实现代码
- jQuery Validate让普通按钮触发表单验证的方法
- 开发人员一定要加入收藏夹的网站 推荐
- Bootstrap框架下下拉框select搜索功能
- mysql中的limit用法有哪些(推荐)
- JavaScript事件委托原理与用法实例分析
- 不使用script导入js文件的几种方法
- 在 webpack 中使用 ECharts的实例详解
- jQuery控制DIV层实现由大到小,由远及近动画变化
- 微信小程序 腾讯地图显示偏差问题解决
- PHP使用自定义key实现对数据加密解密的方法
- PHP批量修改文件名称的方法分析
- ASP.NET实现多域名多网站共享Session值的方法