网站防止采集方法全攻略(2)

时间:2007-09-05 19:57:00 


1、用不同的模板
对于用程序的网站来说,不大可行,一个网站的模板最多也就几套吧。
2、使用robots禁止访问网页目录
这个方法可以有效的防止采集,不过将搜索引擎也封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
一个例子,Disallow 后面就是禁止访问的目录:
3、使用HTTP_REFERER禁止采集,发现来自非本站连接就禁止察看页面,就像前一段落伍im286.net防DDOS那个禁止调用一样。
这个方法可以比较有效的防止采集,不过也一样把搜索引擎封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
对高手无效,因为HTTP_REFERER可以伪造。但对一般使用采集的人来说,已经足够应付了。
4、使用HTTP_REFERER伪造内容
这个方法可以比较有效的防止采集,不过对于搜索引擎来说,查到的东西跟你伪造的东西一样的,可能会影响收录。(如有不对,请高手指出)
同上,对于高手无效。
5、使用java加密内容。
这个可能会比较有效,但是我对java一窍不通,也就不清楚如何入手了。
但我想,既然你这样使得别人采集到乱码,搜索引擎有可能也是收录到乱码的(我不清楚搜索引擎怎么工作,不过我猜测他们是察看网页源代码的。),也就影响收录。
6、使用java加密网址
同上,有可能让搜索引擎无法搜索到你的网页。
7、生成pdf文件、生成图片
这个方法可以比较有效的防止采集,不过照样让搜索引擎望而却止。
8、加上自己的版权信息
这个方法最大的好处就是不影响搜索引擎,效果马马虎虎,一般上可以让采集者采集到带有自己版权的稿件内容。但是对于可以过滤广告的采集程序来说,不大有效。
以下是作者给俺的PM:
你的版权是不是加了你的网站和网址?
只要把网址和网站名替换成他的就可以了啊.这样还让他有了版权功能呢.
反正防采真是头疼....
有点麻烦,我的思路是将网站名称分成一个一个字来显示,他不可能将每个字都替换掉吧?不过要这样我就没办法了。$rand_color*是随机颜色,可以自己控制的,如果是 * 页的话,还配合HTTP_REFERER来搞随机,这样子随机性就更大了。一般上,尽量制造难度就是了。模板也可以制造随机性,几个相似的模板轮流来弄,这样子让人采集的难度更大。
不过说实话,要使他们真要搞,那是没办法的事,不过至少要花他们很多的时间去研究。在此之前,他们可能没耐性转向别的站了。
另外,最好不要让人知道你使用随机函数。一般人只是稍微看一下网页代码,就开始采集了。
下午无聊写着完,写完后自己仔细看了看防止采集还是有一定的效果的,哈哈,要的拿去用吧!

<% 
Dim AppealNum,AppealCount 
AppealNum=10 ’同一IP60秒内请求限制10次 
AppealCount=Request.Cookies("AppealCount") 
If AppealCount="" Then 
response.Cookies("AppealCount")=1 
AppealCount=1 
response.cookies("AppealCount").expires=dateadd("s",60,now()) 
Else 
response.Cookies("AppealCount")=AppealCount+1 
response.cookies("AppealCount").expires=dateadd("s",60,now()) 
End If 
if int(AppealCount)>int(AppealNum) then 
response.write "歇一会儿吧!整天采集你烦不烦啊!" 
response.end 
End If 
%> 


4 这几天上网,竟然也现我的整站被人家全部采集去了。晕倒,几年的资料就这样便宜人家。
还好,人家是个懒虫,栏目都不分,鬼才会去看。
这样才想起怎样防止采集的方法。
注意,只是讨论可行性,还没有提供解决方案。
采集与搜索引擎的机器人不同。采集需要对网页进行分析,以找到规则,分别对标题和内容进行读取并记录到数据库中。
如果我们能够把网页做成没有规则,采集也就无从入手了。
说到规则,我就想趣了空格。
空格这东西,在HTM的<>中,并不产生作用,也就是说,一个空格的位置,你多加几个也是没关系的。象<table>你可以写成< table>,<table >,< table >。都可以,所以,如果在网页里面,特别是采集程序重点分析的位置,我们利用程序,在这些位置加些空格,采集也就难以下手了,就算采到了,也就几篇而已,影响不大。
我准备这样做,象原来在模板中的<table>,我会改成<{$space1$}table{$space2$}>,在这里,{$space1$}和{$space2$}是自定义标签(也可以融合到程序中),然后在程序中使用随机数来决定这两个标签用多少个空格来代替。
呵呵,人家现在想用<table>来做为特征采集是完全做不到的了。但对于我的网页,显示上一点影响也没有,对于搜索引擎的机器人也一点影响没有。
我想这应该是最合适的方法。
希望做过采集或改过采集的讨论一下。

标签:
0
投稿

猜你喜欢

  • python设计模式之装饰器模式

    2023-04-28 07:55:40
  • asp导出CSV格式数据

    2008-12-24 21:25:00
  • Python 实现数据库更新脚本的生成方法

    2024-01-15 22:35:43
  • 网页制作了解什么是CSS hack?

    2007-10-21 08:52:00
  • Python中的文本相似度的计算方法总结

    2021-02-08 08:40:37
  • Django中的CACHE_BACKEND参数和站点级Cache设置

    2022-03-19 11:54:47
  • python中yield的用法详解——最简单,最清晰的解释

    2021-10-22 21:27:56
  • Python包管理工具pip的15 个使用小技巧

    2023-08-30 17:30:51
  • python编程使用PyQt创建UE蓝图

    2023-11-20 14:24:58
  • 理解 XMLDOM 的节选

    2008-02-17 14:48:00
  • Python中生成器和迭代器的区别详解

    2022-12-04 02:32:08
  • 闲谈CSS3动画

    2010-05-07 12:34:00
  • 删除sqlserver数据库日志和没有日志的数据库恢复办法

    2024-01-21 23:20:55
  • 使用javaScript动态加载Js文件和Css文件

    2024-04-19 10:16:27
  • Python实现FTP文件定时自动下载的步骤

    2022-04-13 02:07:14
  • mysql随机查询若干条数据的方法

    2024-01-20 17:41:02
  • Javascript中的getUTCDay()方法使用详解

    2024-05-11 10:24:24
  • python3 enum模块的应用实例详解

    2023-12-12 05:21:46
  • 基于python实现操作redis及消息队列

    2021-08-06 22:31:29
  • Golang 实现interface类型转string类型

    2024-02-11 14:44:12
  • asp之家 网络编程 m.aspxhome.com