雨哲浅谈关于防采集而不影响收录内容篇

网络编程 ASP编程 应用技巧 分类:[default] 更新日期: 2016-03-07
防采集是很麻烦而且累人的事,你做的再好,别人要采还得采。累人就在于要防别人采集,还要不影响搜索引擎收录大部分个人站长的站的生存都寄于百度和Google。所以要防采集,就得先不影响收录,所以我们先要分析到如何分辨搜索爬虫。
让站长最头痛的事,除了程序和服务器安全外,可能就要算内容被采集了。当然,现在网络本身就是资源共享,我这里不谈采集的对错,只是就防采集说说个人看法。  
一、如何分辨搜索爬虫 
        以前,在网上看到过关于用asp代码来捕捉搜索爬虫的代码,通过代码把爬虫的访问记录记录到文件。就此代码(原作者未知)我作了修改,加入程序中防采集。现做成函数,直接在页面中调用。
代码如下:

 Function CheckSearchRobots(SearchRobotsAgent) 
 CheckSearchRobots = False 
 '自定义搜索爬虫,因篇幅关系,这里只是加入国内主要搜索引擎爬虫部分记录 
        Dim SearchRobots:SearchRobots="[email protected]|[email protected]|[email protected]|[email protected]|[email protected]|[email protected]|[email protected]
        dim ArrSearchRobots,ArrSearchRobots2,SearchRobotsTrue,SearchRobotsName,iSearchRobots 
        SearchRobotsTrue = False 
        ArrSearchRobots = split(SearchRobots,chr(124)) 
        For iSearchRobots = 0 To Ubound(ArrSearchRobots) 
                ArrSearchRobots2 = split(ArrSearchRobots(iSearchRobots),"@") 
                If Instr(lcase(SearchRobotsAgent),lcase(ArrSearchRobots2(0))) > 0 then 
                        SearchRobotsTrue=true:SearchRobotsName=ArrSearchRobots2(1):exit for 
                End If 
        Next 
        If SearchRobotsTrue and len(SearchRobotsName)>0 then'如果是爬虫,就更新爬虫信息 
   CheckSearchRobots = True 
        End If 
End Function 

将以上代码放在asp程序中(具体如何放置请参考相关文章),然后在需要调用的地方作如下调用: If CheckSearchRobots(SearchRobotsAgent) = False Then
        Response.Write "非搜索引擎,可作部分限制!"      '这里可以加入判断指定时间的刷新次数,比如在正常情况下,访问速度是N次/分,如果超过这个次数(超常规访问)就可以限制了。 
End If
二、限制超常规访问。 
下面说说如何限制别人的超常规访问。下面代码来源于互联网(原作者未能找到)。我作了部分修改和说明。 
代码如下:

Sub CheckAppeal()
 Dim AppealNum,AppealCount
 AppealNum=10 '同一IP60秒内请求限制次数
 '雨哲[Yz81.Com]站长测试结果一,如果限制为10次,动易采集结果,一分钟能采集成功12篇,失败8篇。
 '雨哲[Yz81.Com]站长测试结果二,如果限制为8次,动易采集结果,一分钟能采集成功9篇,失败11篇。
 AppealCount=Request.Cookies(AppealCookies) 
 If AppealCount="" Then
  Response.Cookies(AppealCookies)=1
  AppealCount=1
  response.cookies(AppealCookies).expires=dateadd("s",60,now())
 Else
  response.Cookies(AppealCookies)=AppealCount+1
  response.cookies(AppealCookies).expires=dateadd("s",60,now())
 End If
 if int(AppealCount)>int(AppealNum) then
  Response.Write "兄弟,爬了这么久,歇会儿吧,别累坏了身体!"
  '这里的提示完全可以自定义,我的做法是另外转到一个和当前文章模板完全一致的页面,当然内容是自定义的。
  '有兴趣的朋友也可以采集<a class="channel_keylink" href="http://www.yuzhe.name">雨哲</a>在线的http://www.yz81.com/wanzhuan/频道下面的文章。
  Response.end
 End If
End Sub

将以上代码放在asp程序中(具体如何放置请参考相关文章),然后在需要调用的地方作如下调用: 
Call CheckAppeal() 

> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • CSS3实现动态翻牌效果仿百度贴吧3D翻牌一次动画特效
    CSS3实现动态翻牌效果仿百度贴吧3D翻牌一次动画特效
    本文主要分享一个利用CSS3新特性transform,实现3D翻牌的特效,有需要的小伙伴可以参考下.今天分享一个CSS3制作的翻牌效果,效果如下图所示,所过把把这个效果应用于相册肯定会很炫的.呵呵,超酷啊. 一.HTML代码: 因为是CSS3实现,所以大家可以看到没有任何的JS代码.ul为一组图片,每个li中有个a(因为我们希望可以跳转),a中包含两个div ...
  • 简单谈谈GET和POST有什么区别
    本文给大家总结了下get与post的具体区别,以及网上的那么多答案为什么都是错误的,非常的实用,这里推荐给大家如果有人问你,GET和POST,有什么区别?你会如何回答? 真实案例      前几天有人问我这个问题.我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用.     这个答案好像并不是他想要的.于是他继续追问有没有别的区别?我说这就是 ...
  • 关于图片存储格式的整理(JPEG格式介绍)
    这篇文章主要介绍了关于图片存储格式的整理JPEG,需要的朋友可以参考下JPG jpg全名是JPEG .JPEG 图片以 24 位颜色存储单个光栅图像.JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的.渐近式 JPEG 文件支持交错. jpg功能 可以提高或降低 JPEG文件压缩的级别.但是,文件大小是以牺牲图像质量为代价的.压缩比率 ...
  • gVim,gVimEasy,gVimRead-only的简单区别
    今天打算好好学习一下python,买了一本书看了介绍无语了,gVim, gVim Diff, gVim Easy, gVim Read-only 的简单区别,需要的朋友可以参考下我在Window XP中安装了Gvim7.2,然后桌面上出现了三个快捷方式,gvim72.exe,gvim read-only,gvim easy,大家谁比较熟悉介绍一下啊,谢谢了! ...
  • PHP微信开发之查询微信精选文章
    这篇文章主要为大家详细介绍了PHP微信开发之简单实现查询微信精选文章的相关资料,感兴趣的小伙伴们可以参考一下查询微信里的一些精选的,点击量比较大的文章. 别忘记申请apikey(登录百度账号即可获取),要完成的功能是: 1.用户回复"文章",公众号要返回文章分类的编号(比如9.科技). 2.用户回复wz9,1,腾讯     则能返回科技类 ...
  • PHP微信开发之查询城市天气
    PHP微信开发之查询城市天气
    这篇文章主要为大家详细介绍了PHP微信开发之简单实现查询城市天气的相关资料,感兴趣的小伙伴们可以参考一下PHP微信查询城市天气,首先,你需要找到一个获取天气的API,此处,我用的是百度的apistore,申请和使用API的网址:http://apistore.baidu.com/apiworks/servicedetail/112.html  登录百度账号, ...
猜你喜欢