主頁 > 知識庫 > 雨哲淺談關(guān)于防采集而不影響收錄內(nèi)容篇

雨哲淺談關(guān)于防采集而不影響收錄內(nèi)容篇

熱門標(biāo)簽:團(tuán)購網(wǎng)站 阿里云 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 服務(wù)器配置 Linux服務(wù)器 電子圍欄 科大訊飛語音識別系統(tǒng)
讓站長最頭痛的事,除了程序和服務(wù)器安全外,可能就要算內(nèi)容被采集了。當(dāng)然,現(xiàn)在網(wǎng)絡(luò)本身就是資源共享,我這里不談采集的對錯(cuò),只是就防采集說說個(gè)人看法。  


一、如何分辨搜索爬蟲 
        以前,在網(wǎng)上看到過關(guān)于用asp代碼來捕捉搜索爬蟲的代碼,通過代碼把爬蟲的訪問記錄記錄到文件。就此代碼(原作者未知)我作了修改,加入程序中防采集?,F(xiàn)做成函數(shù),直接在頁面中調(diào)用。
復(fù)制代碼 代碼如下:

 Function CheckSearchRobots(SearchRobotsAgent) 
 CheckSearchRobots = False 
 '自定義搜索爬蟲,因篇幅關(guān)系,這里只是加入國內(nèi)主要搜索引擎爬蟲部分記錄 
        Dim SearchRobots:SearchRobots="Baidu@Baidu|Google@Google|crawler@alexa|Yahoo@Yahoo|sohu@Sohu|MSN@MSN|QihooBot@Qihoo" 
        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程序中(具體如何放置請參考相關(guān)文章),然后在需要調(diào)用的地方作如下調(diào)用: If CheckSearchRobots(SearchRobotsAgent) = False Then
        Response.Write "非搜索引擎,可作部分限制!"      '這里可以加入判斷指定時(shí)間的刷新次數(shù),比如在正常情況下,訪問速度是N次/分,如果超過這個(gè)次數(shù)(超常規(guī)訪問)就可以限制了。 
End If
二、限制超常規(guī)訪問。 
下面說說如何限制別人的超常規(guī)訪問。下面代碼來源于互聯(lián)網(wǎng)(原作者未能找到)。我作了部分修改和說明。 
復(fù)制代碼 代碼如下:

Sub CheckAppeal()
 Dim AppealNum,AppealCount
 AppealNum=10 '同一IP60秒內(nèi)請求限制次數(shù)
 '雨哲[Yz81.Com]站長測試結(jié)果一,如果限制為10次,動易采集結(jié)果,一分鐘能采集成功12篇,失敗8篇。
 '雨哲[Yz81.Com]站長測試結(jié)果二,如果限制為8次,動易采集結(jié)果,一分鐘能采集成功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 "兄弟,爬了這么久,歇會兒吧,別累壞了身體!"
  '這里的提示完全可以自定義,我的做法是另外轉(zhuǎn)到一個(gè)和當(dāng)前文章模板完全一致的頁面,當(dāng)然內(nèi)容是自定義的。
  '有興趣的朋友也可以采集a class="channel_keylink" >雨哲/a>在線的http://www.yz81.com/wanzhuan/頻道下面的文章。
  Response.end
 End If
End Sub

將以上代碼放在asp程序中(具體如何放置請參考相關(guān)文章),然后在需要調(diào)用的地方作如下調(diào)用: 
Call CheckAppeal() 

標(biāo)簽:蚌埠 萍鄉(xiāng) 衢州 大理 衡水 江蘇 棗莊 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《雨哲淺談關(guān)于防采集而不影響收錄內(nèi)容篇》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266