關(guān)于本文:
本著互聯(lián)網(wǎng)共享主義精神,特寫此文獻(xiàn)給建站新手,授人以魚,不如授人以漁,本文所講的只是方法和原理,希望大家看完此文,能夠從中得到些幫助和啟發(fā)。
本文從一個(gè)ASP程序員的角度用大量實(shí)例祥細(xì)介紹了動(dòng)態(tài)網(wǎng)站如何生成靜態(tài)頁(yè)面原理,又從一個(gè)采集程序開(kāi)發(fā)者的角度去祥細(xì)介紹了網(wǎng)站數(shù)據(jù)采集的原理及功防策略。
關(guān)于網(wǎng)站生成靜態(tài)頁(yè)面,為了讓本文讀者容易理解,文內(nèi)列舉了目前常用的多種生成靜態(tài)頁(yè)面的方法,其中用了很多的實(shí)例代碼進(jìn)行說(shuō)明。
關(guān)于網(wǎng)站數(shù)據(jù)采集攻防,作者本身是一個(gè)采集程序的開(kāi)發(fā)者,同時(shí)作者也收集研究了多種采集程序,列舉了目前國(guó)內(nèi)比較流行的幾種防采集策略,并對(duì)每種策略作了簡(jiǎn)單客觀的分析評(píng)價(jià),希望能給廣大站長(zhǎng)們提供一些幫助。此章節(jié)也把作者原創(chuàng)的防采集方法奉獻(xiàn)給大家,目地是為了讓大家了解,防采集,不防搜索引擎,是可行的,有效的。
聲明:希望各位朋友轉(zhuǎn)載時(shí),不要把原有作者版權(quán)去掉,謝謝合作。
由于本人寫作水平有限,寫的不好的地方,還請(qǐng)大家多多包涵,如要批評(píng)或意見(jiàn),請(qǐng)加我QQ。
目前很多人都開(kāi)始注重動(dòng)態(tài)頁(yè)面生成HTML頁(yè)了,但選擇哪種生成HTML的方法和防采集卻不防搜索引擎的問(wèn)題卻經(jīng)常困擾大家。解決此問(wèn)題則是本文產(chǎn)生的原因。
首先祥細(xì)說(shuō)一下常用的幾種生成HTML的方法:
生成HTML方法主要步驟只有兩個(gè):
一、獲取要生成的html文件的內(nèi)容
二、將獲取的html文件內(nèi)容保存為html文件
我在這里主要說(shuō)明的只是第一步:如何獲取要生成的html文件的內(nèi)容:
目前常用獲取html文件的內(nèi)容的方法有幾下幾種:
1、
CODE:[Copy to clipboard]str="<html標(biāo)記>內(nèi)容</html標(biāo)記>"
str=str&"<html標(biāo)記>內(nèi)容</html標(biāo)記><html標(biāo)記>數(shù)據(jù)庫(kù)讀取內(nèi)容....</html標(biāo)記>....."
這種方法與是在腳本內(nèi)寫要生成的html內(nèi)容,不太方便預(yù)覽生成頁(yè)面的內(nèi)容,無(wú)法可視化布局頁(yè)面,更改html模板時(shí)會(huì)更加復(fù)雜。
用這種方法的人很多,但我感覺(jué)這種方法是最不方便的。
2、
制作單獨(dú)的HTML模板頁(yè),動(dòng)態(tài)的內(nèi)容用特定的字符作為標(biāo)記(如:有人用$title$標(biāo)記為網(wǎng)頁(yè)標(biāo)題),用ADODB.Stream或者Scripting.FileSystemObject將其模板內(nèi)容載入,然后再用替換方法把原先定好的標(biāo)記替換為動(dòng)態(tài)內(nèi)容(如:Replace(載入的模板內(nèi)容,"$title$",rs("title" ) ) )。
3、
用XMLHTTP或serverXMLHTTP獲取動(dòng)態(tài)頁(yè)所顯示的HTML內(nèi)容,
CODE:[Copy to clipboard]我常用的生成html文件的實(shí)例:
'-----------------翟振愷(小琦)
'weburl是要獲取的動(dòng)態(tài)頁(yè)地址
'getHTTPPage(weburl)是獲取動(dòng)態(tài)頁(yè)內(nèi)容的函數(shù)
weburl="http://"&Request.ServerVariables("SERVER_NAME")&"/contact.asp?id="&rs("id")&""‘指定動(dòng)態(tài)頁(yè)地址
body=getHTTPPage(weburl)'用函數(shù)取到動(dòng)態(tài)頁(yè)地址的內(nèi)容
'-----------------翟振愷(小琦)
此方法最大的好處就是不用費(fèi)力氣專門去寫靜態(tài)的模板頁(yè)面,只是將原來(lái)就有的動(dòng)態(tài)頁(yè)面轉(zhuǎn)換為HTML靜態(tài)頁(yè)面,但生成速度不是太快。
我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動(dòng)態(tài)頁(yè)生成的HTML內(nèi)容,再用ADODB.Stream或者Scripting.FileSystemObject保存成html文件。
第二步是生成文件的方法:
ASP里常用的有用ADODB.Stream生成文件和Scripting.FileSystemObject生成文件兩種
1、
Scripting.FileSystemObject生成文件方法:
CODE:[Copy to clipboard]'-----------------翟振愷(小琦)
Set fso = CreateObject("Scripting.FileSystemObject")
File=Server.MapPath("要生成文件路徑和文件名.htm")
Set txt=fso.OpenTextFile(File,8,True)
data1="文件內(nèi)容"用WriteLine方法生成文件
txt.WriteLine data1
data2="文件內(nèi)容"'用Write方法生成文件
txt.Write data2
txt.Close
txt.fso
'-----------------翟振愷(小琦)
2、
ADODB.Stream生成文件方法:
CODE:[Copy to clipboard]'-----------------翟振愷(小琦)
Dim objAdoStream
set objAdoStream = Server.createObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write("文件內(nèi)容")
objAdoStream.SaveToFile 要生成文件路徑和文件名.htm,2
objAdoStream.Close()
'-----------------翟振愷


