Ⅰ 网页防采集策略
网页防采集策略
目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策:
一、判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问。
弊端:
1、此方法只适用于动态页面,如:asp\\jsp\\php等...静态页面无法判断某个IP一定时间访问本站页面的次数。
2、此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程。此方法也会拒绝搜索引擎蜘蛛收录站内文件。
采集对策:只能放慢采集速度,或者不采。
建议:做个搜索引擎蜘蛛的IP库,只允许搜索引擎蜘蛛快速浏览站内内容。搜索引擎蜘蛛的IP库的收集,也不太容易,一个搜索引擎蜘蛛,也不一定只有一个固定的IP地址。
评论:此方法对防采集比较有效,但却会影响搜索引擎对其收录。
二、用javascript加密内容页面
弊端:此方法适用于静态页面,但会严重影响搜索引擎对其收录情况,搜索引擎收到到的内容,也都是加密后的内容。
采集对策:建议不采,如非要采,就把解密码的JS脚本也采下来。
建议:目前没有好的改良建议。
评论:建议指望搜索引擎带流量的站长不要使用此方法。
三、把内容页面里的特定标记替换为”特定标记+隐藏版权文字“
弊端:此方法弊端不大,仅仅会增加一点点的页面文件大小,但容易反采集。
采集对策:把采集来的含有隐藏版权文字内容的版权文字替掉,或替换成自己的版权。
建议:目前没有好的改良建议。
评论:自己感觉实用价值不大,就算是加上随机的隐藏文字,也等于画蛇添足。
四、只允许用户登陆后才可以浏览
弊端:此方法会严重影响搜索引擎蜘蛛对其收录
采集对策:目前落伍已经有人发了对策文章 ,具体对策就看这个吧《ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送》。
建议:目前没有好的改良建议。
评论:建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序,还是有点效果的。
五、用javascript、vbscript脚本做分页
弊端:影响搜索引擎对其收录。
采集对策:分析javascript、vbscript脚本,找出其分页规则,自己做个对应此站的分页集合页即可。
建议:目前没有好的改良建议。
评论:感觉懂点脚本语言的人都能找出其分页规则。
六、只允许通过本站页面连接查看,如:Request.ServerVariables(“HTTP_REFERER“)
弊端:影响搜索引擎对其收录。
采集对策:不知道能不能模拟网页来源。。。。目前我没有对应此方法的采集对策。
建议:目前没有好的改良建议。
评论:建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序,还是有点效果的。
从以上可以看出,目前常用的防采集方法,要么会对搜索引擎收录有较大影响,要么防采集效果不好,起不到防采集的效果。那么,还有没有一种有效防采集,而又不影响搜索引擎收录的方法呢?那就请继续往下看吧!
作者:pujiwang 2006-6-22 14:12:15 | 回复此帖子
广而告之:
2 回复:[转帖]网页防采集策略 防采集的一些思路的探讨
防采集的一些思路的探讨
关键词: 采集
1、用不同的模板
对于用程序的网站来说,不大可行,一个网站的模板最多也就几套吧。
2、使用robots禁止访问网页目录
这个方法可以有效的防止采集,不过将搜索引擎也封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
一个例子,Disallow 后面就是禁止访问的目录:
作者: 218.19.189.* 封 2006-10-20 11:35 回复此发言 删除
--------------------------------------------------------------------------------
2 [转帖]网页防采集策略
User-agent: *
Disallow: /admin
Disallow: /attachments
Disallow: /images
Disallow: /forumdata
Disallow: /include
3、使用HTTP_REFERER禁止采集,发现来自非本站连接就禁止察看叶面,就像前一段落伍im286.net防DDOS那个禁止调用一样。
这个方法可以比较有效的防止采集,不过也一样把搜索引擎封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
对高手无效,因为HTTP_REFERER可以伪造。但对一般使用采集的人来说,已经足够应付了。
例:
php
if(preg_replace("/https?://([^/]+).*/i", "1", $HTTP_SERVER_VARS['HTTP_REFERER']) != $HTTP_SERVER_VARS['HTTP_HOST']) {
exit('警告----你的操作已经被禁止。http://www.ic98.com';);
}
4、使用HTTP_REFERER伪造内容
这个方法可以比较有效的防止采集,不过对于搜索引擎来说,查到的东西跟你伪造的东西一样的,可能会影响收录。(如有不对,请高手指出)
同上,对于高手无效。
5、使用java加密内容。
这个可能会比较有效,但是我对java一窍不通,也就不清楚如何入手了。
但我想,既然你这样使得别人采集到乱码,搜索引擎有可能也是收录到乱码的(我不清楚搜索引擎怎么工作,不过我猜测他们是察看网页源代码的。),也就影响收录。
6、使用java加密网址
同上,有可能让搜索引擎无法搜索到你的网页。
7、生成pdf文件、生成图片
这个方法可以比较有效的防止采集,不过照样让搜索引擎望而却止。
8、加上自己的版权信息
这个方法最大的好处就是不影响搜索引擎,效果马马虎虎,一般上可以让采集者采集到带有自己版权的稿件内容。但是对于可以过滤广告的采集程序来说,不大有效。
以下是作者给俺的PM:
Quote:
你的版权是不是加了你的网站和网址?
只要把网址和网站名替换成他的就可以了啊.这样还让他有了版权功能呢.
反正防采真是头疼....
有点麻烦,我的思路是将网站名称分成一个一个字来显示,他不可能将每个字都替换掉吧?不过要这样我就没办法了。比如说我将我的 武侠网 拆开,分成
武侠网
,$rand_color*是随机颜色,可以自己控制的,如果是动态网页的话,还配合HTTP_REFERER来搞随机,这样子随机性就更大了。一般上,尽量制造难度就是了。模板也可以制造随机性,几个相似的模板轮流来弄,这样子让人采集的难度更大。
不过说实话,要使他们真要搞,那是没办法的事,不过至少要花他们很多的时间去研究。在此之前,他们可能没耐性转向别的站了。
另外,最好不要让人知道你使用随机函数。一般人只是稍微看一下网页代码,就开始采集了。
作者:pujiwang 2006-6-22 14:13:53 | 回复此帖子
3 回复:[转帖]网页防采集策略
防采集程序
下午无聊写着完,写完后自己仔细看了看防止采集还是有一定的效果的,哈哈,要的拿去用吧!
<%
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
%>
作者:pujiwang 2006-6-22 14:16:31 | 回复此帖子
4 回复:[转帖]网页防采集策略
[讨论]防采集这几天上网,竟然也现我的整站被人家全部采集去了。晕倒,几年的资料就这样便宜人家。
还好,人家是个懒虫,栏目都不分,鬼才会去看。
这样才想起怎样防止采集的方法。
注意,只是讨论可行性,还没有提供解决方案。
采集与搜索引擎的机器人不同。采集需要对网页进行分析,以找到规则,分别对标题和内容进行读取并记录到数据库中。
如果我们能够把网页做成没有规则,采集也就无从入手了。
说到规则,我就想趣了空格。
空格这东西,在HTM的<>中,并不产生作用,也就是说,一个空格的位置,你多加几个也是没关系的。象<table>你可以写成< table>,<table >,< table >。都可以,所以,如果在网页里面,特别是采集程序重点分析的位置,我们利用程序,在这些位置加些空格,采集也就难以下手了,就算采到了,也就几篇而已,影响不大。
我准备这样做,象原来在模板中的<table>,我会改成<{$space1$}table{$space2$}>,在这里,{$space1$}和{$space2$}是自定义标签(也可以融合到程序中),然后在程序中使用随机数来决定这两个标签用多少个空格来代替。
呵呵,人家现在想用<table>来做为特征采集是完全做不到的了。但对于我的网页,显示上一点影响也没有,对于搜索引擎的机器人也一点影响没有。
我想这应该是最合适的方法。
希望做过采集或改过采集的讨论一下。
作者:pujiwang 2006-6-22 14:18:27 | 回复此帖子
Ⅱ 网站如何避免被采集呢有什么好的方法吗
可以设置的,叫你们的建站人员搞个代码加密,让别人不能采集,不能复制你们的文章就可以了。
Ⅲ 网页中怎样防止网站被采集
三种实用的方法。 1、文章头尾加随机广告.. 2、文章列表加随机不同的链接标签,比如<a href="",<a class="dds" href='' 3、正文头尾或列表头尾添加<!--重复特征代码--> 第一种防采集方法: 下面我详细说一下这三种方法的实际应用: 如果全加上,绝对可以有效的防采集,单独加一种就可以让采集者头疼。。 完全可以对付通用的CMS采集程序。。 在采集时,通常都是指定头尾特征从哪到哪过滤.这里我们先讲第一种方法,文章头尾加随机广告.. 随机广告是不固定的。 比如你的文章内容是"欢迎访问阿里西西",那么随机广告的加入方法: <div id="xxx"> 随机广告1欢迎访问阿里西西随机广告2 </div> 注:随机广告1和随机广告2每篇文章只要随机显示一个就可以了. 第二种防采集方法: <!--<div id="xxx_文章ID">--> 其它标题或内容... <!--<div id="xxx_文章ID">--> <div id="xxx_文章ID"> 随机广告1欢迎访问阿里西西随机广告2 <--</div>--> </div> <--</div>--> 这是第二种防采集方法。在文章正文页面插入重复特征头尾代码的注释。 当然,这个可以用正则去掉,但足于对付通用的采集系统。。 第三种防采集方法: 第三种加在文章的列表,随便链接样式: <a href="xxx.html">标题一</a> <a alt="xxx" href="xxx.html">标题二</a> <a href='xxx.html'>标题三</a> <a href=xxx.html>标题四</a> 原理是让采集的人无法抓到列表链接规律,无法批量进行采集. 如果三种方法全部加上,我想一定能让想采集的人头疼半天而放弃的.. 如果你还问,如何防止别人复制采集呢?要做到这一点容易,把你的网站的网线拔了,自己给自己看就好了.哈哈. 如果你的文章来自原创,那像可以加上版权声明,别人随意转载时,你可以要求对方删除你有版权的文章.
Ⅳ 网站如何防止信息被采集
防止网站被人采集的方法
2009-08-23
信息来源:赤峰信息网
视力保护色:
1、网站内容采用多套模板,随机模板,给采集程序设置过高的门槛;但这招对整站采集器不起作用。
2、网站内容里随机插入本网站的版权,如域名,网站名称,网站主人,而这些标识可以分开来写,或中间加短横-,或换成全角字符,防止被自动过滤。
3、给我们网站里的图片打上自己的logo标识,比如在图片的右下角打上网站的名称+域名;采集者把我们的网站的图片采集过去,不可能一张一张图片都ps;所以,他们采集我们的网站内容,等于变相地帮助我们宣传网站。
4、这招比较损。如果对方采集的程序几乎和你的网站同步,那么你可以采用这招了。先在我们的网站里添加几篇标题以及文章开头结尾都很正规的内容,而在文章内容中间偷偷插入非法关键字,有多非法就要多非法,多插入几个,隐蔽工作做的也要到位,然后在我们的网站robots.txt文件里禁止搜索引擎抓取这几篇文章。等对方采集了这几篇文章后,我们立即删除自己网站上的这些文章,然后向采集者服务器当地网警举报。
Ⅳ 如何绕开网站防护抓取数据
控制下载频率大规模集中访问对服务器的影响较大,爬虫可以短时间增大服务器负载。这里需要注意的是:设定下载等待时间的范围控制,等待时间过长,不能满足短时间大规模抓取的要求,等待时间过短则很有可能被拒绝访问。在之前“从url获取HTML”的方法里,对于httpGet的配置设置了socket超时和连接connect超时,其实这里的时长不是绝对的,主要取决于目标网站对爬虫的控制。
另外,在scrapy爬虫框架里,专有参数可以设置下载等待时间download_delay,这个参数可以设置在setting.py里,也可以设置在spider里。
IP的访问频率被限制,一些平台为了防止多次访问网站,会在某个同一个IP在单元时间内超过一定的次数的时候,将禁止这个IP继续访问。对于这个限制IP访问效率,可以使用代理IP的方法来解决问题比如使用IPIDEA。
采用分布式爬取分布式爬取的也有很多Githubrepo。原理主要是维护一个所有集群机器能够有效分享的分布式队列。使用分布式爬取还有另外一个目的:大规模抓取,单台机器的负荷很大,况且速度很慢,多台机器可以设置一个master管理多台slave去同时爬取。
修改User-Agent最常见的就是伪装浏览器,修改User-Agent(用户代理)。User-Agent是指包含浏览器信息、操作系统信息等的一个字符串,也称之为一种特殊的网络协议。服务器通过它判断当前访问对象是浏览器、邮件客户端还是网络爬虫。在request.headers里可以查看user-agent,关于怎么分析数据包、查看其User-Agent等信息,这个在前面的文章里提到过。
具体方法可以把User-Agent的值改为浏览器的方式,甚至可以设置一个User-Agent池(list,数组,字典都可以),存放多个“浏览器”,每次爬取的时候随机取一个来设置request的User-Agent,这样User-Agent会一直在变化,防止被墙。
综上所述,爬虫怎么突破反爬虫的方法比较多,上文从更换IP、控制下载频率、分布式爬取、修改User-Agent这四个方面介绍了突破反爬虫机制的方法,从而实现数据的爬取。
Ⅵ 如何防止网站内容被别的网站恶意抓取
三种实用的方法。
1、文章头尾加随机广告..
2、文章列表加随机不同的链接标签,比如<a href="",<a class="dds" href=''
3、正文头尾或列表头尾添加<!--重复特征代码-->
第一种防采集方法:
下面我详细说一下这三种方法的实际应用:
如果全加上,绝对可以有效的防采集,单独加一种就可以让采集者头疼。。
完全可以对付通用的CMS采集程序。。
在采集时,通常都是指定头尾特征从哪到哪过滤.这里我们先讲第一种方法,文章头尾加随机广告..
随机广告是不固定的。
比如你的文章内容是"欢迎访问阿里西西",那么随机广告的加入方法:
<div id="xxx">
随机广告1欢迎访问阿里西西随机广告2
</div>
注:随机广告1和随机广告2每篇文章只要随机显示一个就可以了.
第二种防采集方法:
<!--<div id="xxx_文章ID">-->
其它标题或内容...
<!--<div id="xxx_文章ID">--> <div id="xxx_文章ID">
随机广告1欢迎访问阿里西西随机广告2
<--</div>-->
</div>
<--</div>-->
这是第二种防采集方法。在文章正文页面插入重复特征头尾代码的注释。
当然,这个可以用正则去掉,但足于对付通用的采集系统。。
第三种防采集方法:
第三种加在文章的列表,随便链接样式:
<a href="xxx.html">标题一</a>
<a alt="xxx" href="xxx.html">标题二</a>
<a href='xxx.html'>标题三</a>
<a href=xxx.html>标题四</a>
原理是让采集的人无法抓到列表链接规律,无法批量进行采集.
如果三种方法全部加上,我想一定能让想采集的人头疼半天而放弃的..
如果你还问,如何防止别人复制采集呢?要做到这一点容易,把你的网站的网线拔了,自己给自己看就好了.哈哈.
如果你的文章来自原创,那像可以加上版权声明,别人随意转载时,你可以要求对方删除你有版权的文章.
Ⅶ 有什么好方法防止自己网页的内容被采集
防止自己网页的内容被采集有非常多的方法
方法一:内容配图加水印
当你的文章中含有图片时候,可以给图片打上水印,这样就留下了你的信息,对方要采集或者复制您文章后,不可能一张一张的去处水印,这样也算是变相地帮助我们宣传网站。
方法二:内容随机穿插版权信息
在不影响用户阅读体验的情况下,尽量在内容段落之间随机插入一些之间的信息,比如:网站名字,链接,版权作者,QQ等,这样的话,就算对方使用采集器过滤也不可能每篇文章都能过滤得掉。
方法三:作品结尾留作者信息及链接
不过这个方法作用不是很大,因为很多人复制或转载内容时直接去掉了,可以参考方法二,适当在段落结尾处不影响阅读的情况下下随机插入较好。
方法四:主动推送网址给网络收录
网络给出的链接提交方式有以下三种:
1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给网络,以保证新链接可以及时被网络收录。
2、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给网络。网络会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
3、手工提交:一次性提交链接给网络,可以使用此种方式。
方法五:利用JS加密网页内容
这个方法是在个别网站上看到的,非常暴力。缺点:搜索引擎爬虫无法识别收录和通杀所有采集器,针对极度讨厌搜索引擎和采集器的网站的站长使用,量力而行,您能豁出去了,别人也就没办法采集你了。
方法六:网站随机采用不同模版
分析:因为采集器是根据网页结构来定位所需要的内容,一旦先后两次模版更换,采集规则就失效,不错。而且这样对搜索引擎爬虫没影响。
适用网站:动态网站,并且不考虑用户体验。
采集器会怎么做:一个网站模版不可能多于10个吧,每个模版弄一个规则就行了,不同模版采用不同采集规则。如果多于10个模版了,既然目标网站都那么费劲的更换模版,成全他,撤。
方法七:利用脚本语言做分页(隐藏分页)
分析:还是那句,搜索引擎爬虫不会针对各种网站的隐藏分页进行分析,这影响搜索引擎对其收录。但是,采集者在编写采集规则时,要分析目标网页代码,懂点脚本知识的人,就会知道分页的真实链接地址。
适用网站:对搜索引擎依赖度不高的网站,还有,采集你的人不懂脚本知识。
采集器会怎么做:应该说采集者会怎么做,他反正都要分析你的网页代码,顺便分析你的分页脚本,花不了多少额外时间。
方法八:限制IP地址单位时间的访问次数
分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。
弊端:一刀切,这同样会阻止搜索引擎对网站的收录。
适用网站:不太依靠搜索引擎的网站。
采集器会怎么做:减少单位时间的访问次数,减低采集效率。
希望可以帮到你!
Ⅷ 网站怎么做到别人采集的时候,采集不到,就像下图一样,防采集啊
方法是有但我也事先说明。如果你真的想不让有采集,那么搜索引擎也同样收录不了你的网站内容。因为搜索引擎的收录原理说白了就是采集+添加索引。防采集最可靠的方法:全站使用AJAX,你的网站从此不会被人采集,要采也只能采到网页标题。 还有一个,基于你是图片站,你可以使用防盗链来基本抵制图片外泄。防盗链功能需要在服务器系统上做。所以建议你自己开一个服务器,或者让你的空间供应商加上防盗链功能。
Ⅸ 如何有效防止自己网站的内容被别人采集
防止采集第一种方法:在文章的头尾加上随机不固定的内容。网站采集者在采集时,通常都是指定一个开始位置和一个结束位置,截取中间的内容。
比如你的文章内容是"有讯软件信息网",则随机内容的加入方法:
<div id="xxx">随机内容1+有讯软件信息网+随机内容2</div>
注:随机内容1和随机内容2每篇文章只要随机显示一个就可以了.
防止采集第二种方法:在文章正文页面插入重复特征头尾代码的注释。
文章列表加随机不同的链接标签,比如<a href="" class="xxx"><a class="xxx" href=''>,当然,这个可以用正则去掉,但足于对付通用的CMS采集系统了.
<!--<div id="xxx_文章ID">-->
其它标题或内容...
<!--<div id="xxx_文章ID">--> <div id="xxx_文章ID">
随机内容1欢迎有讯软件信息网随机内容2
<--</div>--></div><--</div>-->
即:正文头尾或列表头尾添加<!--重复特征代码-->
防采集第三种方法:加在文章列表的随便链接样式。目的是让采集的人无法抓到列表链接规律,无法批量进行采集.