防止网站被采集的理论分析以及十条方法对策第1/2页

来源:asp之家 时间:2011-03-29 10:38:00 

相同点:
a. 两者都需要直接抓取到网页源码才能有效工作,
b. 两者单位时间内会多次大量抓取被访问的网站内容;
c. 宏观上来讲两者IP都会变动;
d. 两者多没耐心的去破解你对网页的一些加密(验证),比如网页内容通过js文件加密,比如需要输入验证码才能浏览内容,比如需要登录才能访问内容等。

不同点:
      搜索引擎爬虫先忽略整个网页源码脚本和样式以及html标签代码,然后对剩下的文字部分进行切词语法句法分析等一系列的复杂处理。而采集器一般是通过 html标签特点来抓取需要的数据,在制作采集规则时需要填写目标内容的开始标志何结束标志,这样就定位了所需要的内容;或者采用对特定网页制作特定的正则表达式,来筛选出需要的内容。无论是利用开始结束标志还是正则表达式,都会涉及到html标签(网页结构分析)。

然后再来提出一些防采集方法
1、限制IP地址单位时间的访问次数
分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。

弊端:一刀切,这同样会阻止搜索引擎对网站的收录

适用网站:不太依靠搜索引擎的网站

采集器会怎么做:减少单位时间的访问次数,减低采集效率

2、屏蔽ip
分析:通过后台计数器,记录来访者ip和访问频率,人为分析来访记录,屏蔽可疑Ip。

弊端:似乎没什么弊端,就是站长忙了点

适用网站:所有网站,且站长能够知道哪些是google或者百度的机器人

采集器会怎么做:打游击战呗!利用ip代理采集一次换一次,不过会降低采集器的效率和网速(用代理嘛)。

3、利用js加密网页内容
Note:这个方法我没接触过,只是从别处看来
分析:不用分析了,搜索引擎爬虫和采集器通杀

适用网站:极度讨厌搜索引擎和采集器的网站

采集器会这么做:你那么牛,都豁出去了,他就不来采你了

4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格写在css文件中
分析:虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的css文件,那些文字没了风格,就显示出来了。

适用网站:所有网站

采集器会怎么做:对于版权文字,好办,替换掉。对于随机的垃圾文字,没办法,勤快点了。

5、用户登录才能访问网站内容
分析:搜索引擎爬虫不会对每个这样类型的网站设计登录程序。听说采集器可以针对某个网站设计模拟用户登录提交表单行为。

适用网站:极度讨厌搜索引擎,且想阻止大部分采集器的网站

采集器会怎么做:制作拟用户登录提交表单行为的模块

6、利用脚本语言做分页(隐藏分页)
分析:还是那句,搜索引擎爬虫不会针对各种网站的隐藏分页进行分析,这影响搜索引擎对其收录。但是,采集者在编写采集规则时,要分析目标网页代码,懂点脚本知识的人,就会知道分页的真实链接地址。

适用网站:对搜索引擎依赖度不高的网站,还有,采集你的人不懂脚本知识

采集器会怎么做:应该说采集者会怎么做,他反正都要分析你的网页代码,顺便分析你的分页脚本,花不了多少额外时间。

标签:防止,网站被采集
0
投稿

猜你喜欢

  • git版本库介绍及本地创建的三种场景方式

    2023-07-11 11:22:18
  • Django中的静态文件管理过程解析

    2021-01-21 03:09:14
  • Linux环境下MySQL-python安装过程分享

    2024-01-15 12:50:41
  • mac os10.12安装mysql5.7.18教程

    2024-01-19 14:08:27
  • pyhanlp安装介绍和简单应用

    2022-04-10 14:22:13
  • Golang import本地包和导入问题相关详解

    2024-01-30 09:35:37
  • Pycharm导入anaconda环境的教程图解

    2022-12-15 04:26:40
  • Python enumerate索引迭代代码解析

    2022-04-05 17:13:07
  • GO语言中接口和接口型函数的具体使用

    2023-06-18 09:08:40
  • Oracle中获取执行计划的几种方法分析

    2023-07-17 15:18:31
  • win2003上安装SQL2000时CD-KEY(序列号)无法验证解决方法

    2024-01-15 16:36:19
  • php session安全问题分析

    2023-11-15 06:45:29
  • 详解Python中dict与set的使用

    2022-09-11 05:22:22
  • 使用selenium自动控制浏览器找不到Chromedriver问题

    2023-02-02 01:32:33
  • 了解一点js的Eval函数

    2024-04-19 09:59:45
  • Pytorch实现神经网络的分类方式

    2021-02-26 05:20:47
  • 简化版的vue-router实现思路详解

    2024-05-10 14:17:28
  • 通过实例了解Python str()和repr()的区别

    2022-06-01 21:37:36
  • MySql查询某个时间段内的数据实例(前一周、前三个月、前一年等)

    2024-01-18 09:36:31
  • python如何判断文件存在方式

    2023-01-23 12:58:37
  • asp之家 网络编程 m.aspxhome.com