婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 網站生成靜態頁面,及網站數據采集的攻、防原理和策略

網站生成靜態頁面,及網站數據采集的攻、防原理和策略

熱門標簽:金昌電話機器人價格 個人可以辦理400電話么 萊西電子地圖標注 武夷山旅游地圖標注 修改地圖標注 外呼系統API接口 怎么在地圖標注自己 縣域地圖標注打印店 鳳臺百度地圖標注店
發布時間:2005年11月27日 晚
文章作者:翟振凱 (小琦)
交流方式:
個人站:http://www.xiaoqi.net    
技術站:http://www.iisvs.net
商業站:http://www.iisvs.com
QQ:53353866 22336848
關于本文:
        本著互聯網共享主義精神,特寫此文獻給建站新手,授人以魚,不如授人以漁,本文所講的只是方法和原理,希
望大家看完此文,能夠從中得到些幫助和啟發。

        本文從一個ASP程序員的角度用大量實例祥細介紹了動態網站如何生成靜態頁面原理,又從一個采集程序開發者
的角度去祥細介紹了網站數據采集的原理及功防策略。

        關于網站生成靜態頁面,為了讓本文讀者容易理解,文內列舉了目前常用的多種生成靜態頁面的方法,其中用了
很多的實例代碼進行說明。

        關于網站數據采集攻防,作者本身是一個采集程序的開發者,同時作者也收集研究了多種采集程序,列舉了目前
國內比較流行的幾種防采集策略,并對每種策略作了簡單客觀的分析評價,希望能給廣大站長們提供一些幫助。此章節也
把作者原創的防采集方法奉獻給大家,目地是為了讓大家了解,防采集,不防搜索引擎,是可行的,有效的。

聲明:希望各位朋友轉載時,不要把原有作者版權去掉,謝謝合作。
         由于本人寫作水平有限,寫的不好的地方,還請大家多多包涵,如要批評或意見,請加我QQ。
目前很多人都開始注重動態頁面生成HTML頁了,但選擇哪種生成HTML的方法和防采集卻不防搜索引擎的問題卻經常困擾大
家。解決此問題則是本文產生的原因。



首先祥細說一下常用的幾種生成HTML的方法:


生成HTML方法主要步驟只有兩個:
一、獲取要生成的html文件的內容
二、將獲取的html文件內容保存為html文件

我在這里主要說明的只是第一步:如何獲取要生成的html文件的內容:
目前常用獲取html文件的內容的方法有幾下幾種:
1、


str="html標記>內容/html標記>"
str=str"html標記>內容/html標記>html標記>數據庫讀取內容..../html標記>....."
這種方法與是在腳本內寫要生成的html內容,不太方便預覽生成頁面的內容,無法可視化布局頁面,更改html模板時會更
加復雜。
用這種方法的人很多,但我感覺這種方法是最不方便的。

2、
制作單獨的HTML模板頁,動態的內容用特定的字符作為標記(如:有人用$title$標記為網頁標題),用ADODB.Stream或者
Scripting.FileSystemObject將其模板內容載入,然后再用替換方法把原先定好的標記替換為動態內容(如:Replace(載
入的模板內容,"$title$",rs("title" ) ) )。

3、
用XMLHTTP或serverXMLHTTP獲取動態頁所顯示的HTML內容,


我常用的生成html文件的實例:
'-----------------翟振愷(小琦)
'weburl是要獲取的動態頁地址
'getHTTPPage(weburl)是獲取動態頁內容的函數
weburl="http://"Request.ServerVariables("SERVER_NAME")"/contact.asp?id="rs("id")""‘指定動態頁地址
body=getHTTPPage(weburl)'用函數取到動態頁地址的內容
'-----------------翟振愷(小琦)
此方法最大的好處就是不用費力氣專門去寫靜態的模板頁面,只是將原來就有的動態頁面轉換為HTML靜態頁面,但生成速
度不是太快。

我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動態頁生成的HTML內容,再用ADODB.Stream或者
Scripting.FileSystemObject保存成html文件。

第二步是生成文件的方法:
ASP里常用的有用ADODB.Stream生成文件和Scripting.FileSystemObject生成文件兩種
1、

Scripting.FileSystemObject生成文件方法:


'-----------------翟振愷(小琦)
Set fso = CreateObject("Scripting.FileSystemObject")
File=Server.MapPath("要生成文件路徑和文件名.htm")
Set txt=fso.OpenTextFile(File,8,True)  
data1="文件內容"用WriteLine方法生成文件
txt.WriteLine data1
data2="文件內容"'用Write方法生成文件
txt.Write data2
txt.Close
txt.fso
'-----------------翟振愷(小琦)
2、

ADODB.Stream生成文件方法:


'-----------------翟振愷(小琦)
Dim objAdoStream
set objAdoStream = Server.createObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write("文件內容")
objAdoStream.SaveToFile 要生成文件路徑和文件名.htm,2
objAdoStream.Close()
'-----------------翟振愷(小琦)
再說一下我對HTML防采集卻不防搜索引擎蜘蛛的一些經驗:

我開發過幾個采集程序,也研究過很多采集程序代碼,所以對采集程序的原理還算是稍微有些了解。
先說一下采集原理:

采集程序的主要步驟如下:

一、獲取被采集的頁面的內容
二、從獲取代碼中提取所有用的數據

一、獲取被采集的頁面的內容

我目前所掌握的ASP常用獲取被采集的頁面的內容方法:

1、用serverXMLHTTP組件獲取數據


Function GetBody(weburl) 
'-----------------翟振愷(小琦)
    '創建對象
    Dim ObjXMLHTTP
    Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")
    '請求文件,以異步形式
    ObjXMLHTTP.Open "GET",weburl,False
    ObjXMLHTTP.send
    While ObjXMLHTTP.readyState > 4
        ObjXMLHTTP.waitForResponse 1000
    Wend
    '得到結果
     GetBody=ObjXMLHTTP.responseBody
    '釋放對象
     Set ObjXMLHTTP=Nothing
'-----------------翟振愷(小琦)
End Function
調用方法:
GetBody(文件的URLf地址) 
2、或XMLHTTP組件獲取數據


Function GetBody(weburl) 
'-----------------翟振愷(小琦)
    '創建對象
    Set Retrieval = CreateObject("Microsoft.XMLHTTP") 
    With Retrieval 
     .Open "Get", weburl, False, "", "" 
     .Send 
     GetBody = .ResponseBody
     End With 
    '釋放對象
    Set Retrieval = Nothing 
'-----------------翟振愷(小琦)
End Function
調用方法:
GetBody(文件的URLf地址) 
這樣獲取的數據內容還需要進行編碼轉換才可以使用


Function BytesToBstr(body,Cset)
'-----------------翟振愷(小琦)
        dim objstream
        set objstream = Server.CreateObject("adodb.stream")
        objstream.Type = 1
        objstream.Mode =3
        objstream.Open
        objstream.Write body
        objstream.Position = 0
        objstream.Type = 2
        objstream.Charset = Cset
        BytesToBstr = objstream.ReadText 
        objstream.Close
        set objstream = nothing
'-----------------翟振愷(小琦)
End Function

調用方法:BytesToBstr(要轉換的數據,編碼)'編碼常用為GB2312和UTF-8
二、從獲取代碼中提取所有用的數據
目前我掌握的方法有:
1、用ASP內置的MID函數截取需要的數據


Function body(wstr,start,over)
'-----------------翟振愷(小琦)
start=Newstring(wstr,start)
'設置需要處理的數據的唯一的開始標記
over=Newstring(wstr,over)
'和start相對應的就是需要處理的數據的唯一的結束標記
body=mid(wstr,start,over-start)
'設置顯示頁面的范圍
'-----------------翟振愷(小琦)
End Function
調用方法:body(被采集的頁面的內容,開始標記,結束標記)
2、用正則獲取需要的數據


Function body(wstr,start,over)
'-----------------翟振愷(小琦)
Set xiaoqi = New Regexp'設置配置對象
xiaoqi.IgnoreCase = True'忽略大小寫
xiaoqi.Global = True'設置為全文搜索
xiaoqi.Pattern =  "”start“.+?”over“"'正則表達式 
Set Matches =xiaoqi.Execute(wstr)'開始執行配置
set  xiaoqi=nothing 
body=""
For Each Match in Matches
body=bodyMatch.Value '循環匹配
Next
'-----------------翟振愷(小琦)
End Function
調用方法:body(被采集的頁面的內容,開始標記,結束標記)
采集程序祥細思路:
1、取得網站的分頁列表頁的每頁地址
目前絕大部分動態網站的分頁地址都有規則,如:
動態頁
第一頁:index.asp?page=1
第二頁:index.asp?page=2
第三頁:index.asp?page=3
.....

靜態頁
第一頁:page_1.htm
第二頁:page_2.htm
第三頁:page_3.htm
.....
取得網站的分頁列表頁的每頁地址,只需要用變量替代每頁地址的變化的字符即可如:page_%="page"%>.htm

2、獲取被采集網站的分頁列表頁內容
3、從分頁列表代碼中提取被采集的內容頁面的URL連接地址
絕大部分分頁頁面里的內容頁連接也有固定規則,如:
a href="url1">連接1/a> br>
a href="url2">連接2/a> br>
a href="url3">連接3/a> br>

用以下代碼就可以獲得一個URL連接集合


'-----------------翟振愷(小琦)
Set xiaoqi = New Regexp
xiaoqi.IgnoreCase = True
xiaoqi.Global = True
xiaoqi.Pattern =  ””“.+?”““
Set Matches =xiaoqi.Execute(頁面列表內容)
set  xiaoqi=nothing 
url=""
For Each Match in Matches
url=urlMatch.Value 
Next
'-----------------翟振愷(小琦)
4、取得被采集的內容頁面內容,根據”提取標記“從被采集的內容頁面分別截取要取得的數據

因為是動態生成的頁面,大多數內容頁面內都有相同的html標記,我們可以根據這些有規則的標記提取需要的各個部分的
內容。
如:
每個頁面都有網頁標題title>網頁標題/title>,用我上面寫的MID截取函數就可以獲得title>/title>之間的值,也
可以用正則表達式來獲得。
例:body("title>網頁標題/title>","title>","/title>")


介紹完采集器的祥細原理后,就開始說一下防采集的策略。

目前防采集的方法有很多種,先介紹一下常見防采集策略方法和它的弊端及采集對策:

一、判斷一個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")
弊端:影響搜索引擎對其收錄
采集對策:不知道能不能模擬網頁來源。。。。目前我沒有對應此方法的采集對策
建議:目前沒有好的改良建議
評論:建議指望搜索引擎帶流量的站長不要使用此方法。不過此方法防一般的采集程序,還是有點效果的。

從以上可以看出,目前常用的防采集方法,要么會對搜索引擎收錄有較大影響,要么防采集效果不好,起不到防采集的效
果。那么,還有沒有一種有效防采集,而又不影響搜索引擎收錄的方法呢?那就請繼續往下看吧,精彩的地方馬上呈獻給
大家。

下面就是我的防采集策略,防采集而又不防搜索引擎

從前面的我講的采集原理大家可以看出,絕大多數采集程序都是靠分析規則來進行采集的,如分析分頁文件名規則、分析
頁面代碼規則。

一、分頁文件名規則防采集對策

大部分采集器都是靠分析分頁文件名規則,進行批量、多頁采集的。如果別人找不出你的分頁文件的文件名規則,那么別
人就無法對你的網站進行批量多頁采集。
實現方法:
我認為用MD5加密分頁文件名是一個比較好的方法,說到這里,有人會說,你用MD5加密分頁文件名,別人根據此規則也可
以模擬你的加密規則得到你的分頁文件名。

我要指出的是我們加密分頁文件名時,不要只加密文件名變化的部分
如果I代表分頁的頁碼,那么我們不要這樣加密 
page_name=Md5(I,16)".htm"

最好給要加密的頁碼上再跟進一個或多個字符,如:page_name=Md5(I"任意一個或幾個字母",16)".htm"

因為MD5是無法反解密的,別人看到的會頁字母是MD5加密后的結果,所以加人也無法知道你在 I 后面跟進的字母是什么
,除非他用暴力****MD5,不過不太現實。

二、頁面代碼規則防采集對策

如果說我們的內容頁面無代碼規則,那么別人就無法從你的代碼中提取他們所需要的一條條內容。
所以我們要的這一步做到防采集,就要使代碼無規則。
實現方法:
使對方需要提取的標記隨機化
1、定制多個網頁模板,每個網頁模板里的重要HTML標記不同,呈現頁面內容時,隨機選取網頁模板,有的頁面用CSS+DIV
布局,有的頁面用table布局,此方法是麻煩了點,一個內容頁面,要多做幾個模板頁面,不過防采集本身就是一件很煩
瑣的事情,多做一個模板,能起到防采集的作用,對很多人來說,都是值得的。
2、如果嫌上面的方法太麻煩,把網頁里的重要HTML標記隨機化,也可以。

做的網頁模板越多,html代碼越是隨機化,對方分析起內容代碼時,就越麻煩,對方針對你的網站專門寫采集策略時,難
度就更大,在這個時候,絕大部分人,都會知難而退,因為這此人就是因為懶,才會采集別人網站數據嘛~~~再說一下,
目前大部分人都是拿別人開發的采集程序去采集數據,自己開發采集程序去采集數據的人畢竟是少數。

還有些簡單的思路提供給大家:
1、把對數據采集者重要,而對搜索引擎不重要的內容用客戶端腳本顯示
2、把一頁數據,分為N個頁面顯示,也是加大采集難度的方法
3、用更深層的連接,因為目前大部分采集程序只能采集到網站內容的前3層,如果內容所在的連接層更深,也可以避免被
采集。不過這樣可能會給客戶造成瀏覽上的不便。
如:
大多網站都是 首頁----內容索引分頁----內容頁
如果改成:
首頁----內容索引分頁----內容頁入口----內容頁
注:內容頁入口最好能加上自動轉入內容頁的代碼


meta http-equiv="refresh" content="6;url=內容頁(http://www.xiaoqi.net)">
其實,只要做好防采集的第一步(加密分頁文件名規則),防采集的效果就已經不錯了,還是建議兩條反采集方法同時使用
,給采集者增加采集難度,使得他們知難頁退。

至此,全文完,歡迎大家在此討論與此相關技術,謝謝!
作者:翟振愷(小琦)
希望大家轉載時,不要把作者版權去掉,謝謝合作!

標簽:清遠 通遼 邢臺 涼山 楚雄 赤峰 南京 上海

巨人網絡通訊聲明:本文標題《網站生成靜態頁面,及網站數據采集的攻、防原理和策略》,本文關鍵詞  網站,生成,靜態,頁面,及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《網站生成靜態頁面,及網站數據采集的攻、防原理和策略》相關的同類信息!
  • 本頁收集關于網站生成靜態頁面,及網站數據采集的攻、防原理和策略的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩你懂的在线播放| 国产一区二区三区四区五区美女| 成人欧美一区二区三区小说| 国产美女在线观看一区| 91小视频免费看| 艳妇臀荡乳欲伦亚洲一区| 久草中文综合在线| 欧美精品一区二区高清在线观看| 自拍偷在线精品自拍偷无码专区| 99国产精品视频免费观看| 欧美一区二视频| 极品瑜伽女神91| 久久九九99视频| 91亚洲精品一区二区乱码| 欧美一级高清大全免费观看| 精品一区二区三区久久久| 日本一区二区三区视频视频| 天天av天天翘天天综合网 | 色吊一区二区三区| 欧美va亚洲va| 成人黄色软件下载| 久久久亚洲精品一区二区三区| 亚洲成av人片在线观看| 欧美成人午夜电影| 三级久久三级久久| 欧美国产日韩一二三区| 精品在线视频一区| 3atv一区二区三区| 国产成人鲁色资源国产91色综 | 色综合 综合色| 午夜久久久影院| 久久久精品黄色| 国产综合一区二区| 亚洲男人的天堂网| 精品国产一区二区三区久久影院| 成人免费视频免费观看| 日本vs亚洲vs韩国一区三区二区| 国产欧美日韩中文久久| 国产精品羞羞答答xxdd| 亚洲永久免费视频| 国产日韩欧美制服另类| 丰满少妇久久久久久久| 日韩精品一级中文字幕精品视频免费观看 | 国产精品看片你懂得| 国产乱色国产精品免费视频| 一区在线观看视频| 精品国产免费视频| 欧美日韩久久久久久| 国产成人精品aa毛片| 国产精品嫩草久久久久| 欧美一区二区视频观看视频| av中文字幕在线不卡| 亚洲欧美一区二区在线观看| 日韩欧美一级二级三级久久久| 蜜桃视频免费观看一区| 亚洲电影在线播放| 欧美日韩一二区| 美腿丝袜在线亚洲一区| 亚洲国产成人91porn| 亚洲特黄一级片| 色噜噜狠狠成人网p站| 国产99久久精品| 精品一二三四区| 美腿丝袜亚洲一区| 久久久久久久久久久久电影 | 制服视频三区第一页精品| 色综合久久六月婷婷中文字幕| 国产成a人亚洲| 精品一区二区三区免费视频| 日韩高清一区二区| 精品捆绑美女sm三区| 欧美日韩不卡在线| 国产精品自拍一区| 精品一区二区三区久久| 青娱乐精品视频在线| 欧美大片在线观看一区二区| 国产高清无密码一区二区三区| 国产精品不卡在线观看| 91福利小视频| 国产自产2019最新不卡| 一区二区三区四区视频精品免费 | 亚洲欧美视频在线观看| 555夜色666亚洲国产免| 国产福利精品一区| 国产69精品久久久久毛片| 国产大陆精品国产| 天天综合天天综合色| 国产精品美女久久福利网站| 4438x成人网最大色成网站| 欧美日韩国产综合草草| 日韩视频免费观看高清完整版 | 欧美xxxx老人做受| 一本色道久久综合精品竹菊 | 欧洲精品一区二区三区在线观看| 一本久久精品一区二区| 欧美在线不卡视频| 3d成人h动漫网站入口| 久久综合丝袜日本网| 91福利国产精品| 欧美日韩高清在线播放| 成人免费视频app| 免费成人av在线播放| 亚洲激情综合网| 中文在线一区二区| 欧美一区二区在线看| 国产偷国产偷亚洲高清人白洁| 中文字幕第一区| 精品对白一区国产伦| 国产精品久久久久影视| 亚洲制服丝袜av| 亚洲欧美一区二区三区极速播放| 久久亚洲精华国产精华液| 中文字幕高清不卡| 国产亚洲成aⅴ人片在线观看 | 在线视频一区二区三区| 捆绑调教美女网站视频一区| 国产精品一区二区视频| 午夜视频在线观看一区二区| 国产毛片精品一区| 欧美一区在线视频| 色婷婷综合久久| 美腿丝袜亚洲一区| 日韩一区二区三区精品视频| 91精品国产综合久久精品| 成人高清在线视频| 亚洲人123区| 天天色 色综合| 91一区一区三区| 麻豆国产欧美日韩综合精品二区| 亚洲午夜免费福利视频| 91免费视频大全| 中文字幕精品一区| 国产综合成人久久大片91| 26uuu另类欧美| 成人综合在线视频| 久久久三级国产网站| 国产一区二区三区观看| 国内成人自拍视频| 成人av在线网| 99re视频这里只有精品| 国产精品高潮呻吟久久| 色天天综合久久久久综合片| 欧美久久高跟鞋激| 人人超碰91尤物精品国产| 日韩欧美一卡二卡| 中文字幕一区二区三区蜜月| 成人av网站在线观看| 亚洲国产成人av| 日韩视频在线观看一区二区| 久久欧美一区二区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲日本va午夜在线影院| 奇米精品一区二区三区四区 | 欧美sm美女调教| 99精品1区2区| 人人精品人人爱| 成人高清av在线| 欧美精品高清视频| caoporen国产精品视频| 日本不卡一区二区三区| 欧美午夜在线一二页| 国产欧美一区二区精品忘忧草 | 亚洲高清视频在线| 国产欧美日韩亚州综合| 亚洲一区二区在线免费观看视频| 久久精品国产77777蜜臀| 国产精品护士白丝一区av| 欧美一区二区三区男人的天堂| 国产91清纯白嫩初高中在线观看| 丝袜美腿亚洲一区| 亚洲国产毛片aaaaa无费看| 国产大陆精品国产| 国产原创一区二区| 精品人伦一区二区色婷婷| 激情图区综合网| 日韩亚洲国产中文字幕欧美| 91麻豆免费看| 欧美群妇大交群的观看方式| 亚洲无人区一区| 亚洲123区在线观看| 亚洲精品国产a久久久久久 | 一本到不卡精品视频在线观看| 韩国成人精品a∨在线观看| 国产亚洲精品资源在线26u| 中文一区在线播放| 一区二区三区四区不卡视频| 一区二区三区色| 欧美在线免费视屏| 蜜桃在线一区二区三区| 日韩精品成人一区二区在线| 精品91自产拍在线观看一区| 国精产品一区一区三区mba视频| 久久国产三级精品| 国产欧美一区二区精品久导航| 久久午夜老司机| 欧美日韩国产乱码电影| 欧美一三区三区四区免费在线看| 国产毛片精品视频| 欧美日韩一区二区三区视频 | 中文字幕高清不卡|