欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
網(wǎng)站生成靜態(tài)頁(yè)面攻略

生成HTML方法主要步驟只有兩個(gè):

一、獲取要生成的html文件的內容
二、將獲取的html文件內容保存為html文件

我在這里主要說(shuō)明的只是第一步:如何獲取要生成的html文件的內容:

目前常用獲取html文件的內容的方法有幾下幾種:

1、這種方法與是在腳本內寫(xiě)要生成的html內容,不太方便預覽生成頁(yè)面的內容,無(wú)法可視化布局頁(yè)面,更改html模板時(shí)會(huì )更加復雜。用這種方法的人很多,但我感覺(jué)這種方法是最不方便的。

str="<html標記>內容</html標記>"
str=str&"<html標記>內容</html標記><html標記>數據庫讀取內容....</html標記>....."

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

3、用XMLHTTP或serverXMLHTTP獲取動(dòng)態(tài)頁(yè)所顯示的HTML內容:

我常用的生成html文件的實(shí)例:
‘-----------------翟振愷(小琦)
‘weburl是要獲取的動(dòng)態(tài)頁(yè)地址
‘getHTTPPage(weburl)是獲取動(dòng)態(tài)頁(yè)內容的函數
weburl="http://"&Request.ServerVariables("SERVER_NAME")&"/contact.asp?id="&rs("id")&""‘指定動(dòng)態(tài)頁(yè)地址
body=getHTTPPage(weburl)‘用函數取到動(dòng)態(tài)頁(yè)地址的內容
‘-----------------翟振愷(小琦)

此方法最大的好處就是不用費力氣專(zhuān)門(mén)去寫(xiě)靜態(tài)的模板頁(yè)面,只是將原來(lái)就有的動(dòng)態(tài)頁(yè)面轉換為HTML靜態(tài)頁(yè)面,但生成速度不是太快。

我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動(dòng)態(tài)頁(yè)生成的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()
‘-----------------翟振愷(小琦)

采集原理:

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

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

一、獲取被采集的頁(yè)面的內容

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

1、用serverXMLHTTP組件獲取數據

Function GetBody(weburl)
‘-----------------翟振愷(小琦)
‘創(chuàng )建對象
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)
‘-----------------翟振愷(小琦)
‘創(chuàng )建對象
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", weburl, False, "", ""
.Send
GetBody = .ResponseBody
End With
‘釋放對象
Set Retrieval = Nothing
‘-----------------翟振愷(小琦)
End Function

調用方法:GetBody(文件的URLf地址)

這樣獲取的數據內容還需要進(jìn)行編碼轉換才可以使用

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)
‘設置需要處理的數據的唯一的開(kāi)始標記
over=Newstring(wstr,over)
‘和start相對應的就是需要處理的數據的唯一的結束標記
body=mid(wstr,start,over-start)
‘設置顯示頁(yè)面的范圍
‘-----------------翟振愷(小琦)
End Function

調用方法:body(被采集的頁(yè)面的內容,開(kāi)始標記,結束標記)

2、用正則獲取需要的數據

Function body(wstr,start,over)
‘-----------------翟振愷(小琦)
Set xiaoqi = New Regexp‘設置配置對象
xiaoqi.IgnoreCase = True‘忽略大小寫(xiě)
xiaoqi.Global = True‘設置為全文搜索
xiaoqi.Pattern = "”&start&“.+?”&over&“"‘正則表達式
Set Matches =xiaoqi.Execute(wstr)‘開(kāi)始執行配置
set xiaoqi=nothing
body=""
For Each Match in Matches
body=body&Match.Value ‘循環(huán)匹配
Next
‘-----------------翟振愷(小琦)
End Function

調用方法:body(被采集的頁(yè)面的內容,開(kāi)始標記,結束標記)

采集程序祥細思路:

1、取得網(wǎng)站的分頁(yè)列表頁(yè)的每頁(yè)地址
目前絕大部分動(dòng)態(tài)網(wǎng)站的分頁(yè)地址都有規則,如:
動(dòng)態(tài)頁(yè)
第一頁(yè):index.asp?page=1
第二頁(yè):index.asp?page=2
第三頁(yè):index.asp?page=3
.....

靜態(tài)頁(yè)
第一頁(yè):page_1.htm
第二頁(yè):page_2.htm
第三頁(yè):page_3.htm
.....

取得網(wǎng)站的分頁(yè)列表頁(yè)的每頁(yè)地址,只需要用變量替代每頁(yè)地址的變化的字符即可如:page_<%="&page&"%>.htm

2、獲取被采集網(wǎng)站的分頁(yè)列表頁(yè)內容

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

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

‘-----------------翟振愷(小琦)
Set xiaoqi = New Regexp
xiaoqi.IgnoreCase = True
xiaoqi.Global = True
xiaoqi.Pattern = ””“.+?”““
Set Matches =xiaoqi.Execute(頁(yè)面列表內容)
set xiaoqi=nothing
url=""
For Each Match in Matches
url=url&Match.Value
Next
‘-----------------翟振愷(小琦)

4、取得被采集的內容頁(yè)面內容,根據”提取標記“從被采集的內容頁(yè)面分別截取要取得的數據。

因為是動(dòng)態(tài)生成的頁(yè)面,大多數內容頁(yè)面內都有相同的html標記,我們可以根據這些有規則的標記提取需要的各個(gè)部分的內容。如:

每個(gè)頁(yè)面都有網(wǎng)頁(yè)標題<title>網(wǎng)頁(yè)標題</title>,用我上面寫(xiě)的MID截取函數就可以獲得<title></title>之間的值,也可以用正則表達式來(lái)獲得。
例:body("<title>網(wǎng)頁(yè)標題</title>","<title>","</title>")

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

一、判斷一個(gè)IP在一定時(shí)間內對本站頁(yè)面的訪(fǎng)問(wèn)次數,如果明顯超過(guò)了正常人瀏覽速度,就拒絕此IP訪(fǎng)問(wèn)

弊端:
1、此方法只適用于動(dòng)態(tài)頁(yè)面,如:asp\jsp\php等...靜態(tài)頁(yè)面無(wú)法判斷某個(gè)IP一定時(shí)間訪(fǎng)問(wèn)本站頁(yè)面的次數。
2、此方法會(huì )嚴重影響搜索引擎蜘蛛對其收錄,因為搜索引擎蜘蛛收錄時(shí),瀏覽速度都會(huì )比較快而且是多線(xiàn)程。此方法也會(huì )拒絕搜索引擎蜘蛛收錄站內文件
采集對策:只能放慢采集速度,或者不采
建議:做個(gè)搜索引擎蜘蛛的IP庫,只允許搜索引擎蜘蛛快速瀏覽站內內容。搜索引擎蜘蛛的IP庫的收集,也不太容易,一個(gè)搜索引擎蜘蛛,也不一定只有一個(gè)固定的IP地址。
評論:此方法對防采集比較有效,但卻會(huì )影響搜索引擎對其收錄。

二、用javascript加密內容頁(yè)面

弊端:此方法適用于靜態(tài)頁(yè)面,但會(huì )嚴重影響搜索引擎對其收錄情況,搜索引擎收到到的內容,也都是加密后的內容
采集對策:建議不采,如非要采,就把解密碼的JS腳本也采下來(lái)。
建議:目前沒(méi)有好的改良建議
評論:建議指望搜索引擎帶流量的站長(cháng)不要使用此方法。

三、把內容頁(yè)面里的特定標記替換為[color=Red]”特定標記+隱藏版權文字“[/color]

弊端:此方法弊端不大,僅僅會(huì )增加一點(diǎn)點(diǎn)的頁(yè)面文件大小,但容易反采集
采集對策:把采集來(lái)的含有隱藏版權文字內容的版權文字替掉,或替換成自己的版權。
建議:目前沒(méi)有好的改良建議
評論:自己感覺(jué)實(shí)用價(jià)值不大,就算是加上隨機的隱藏文字,也等于畫(huà)蛇添足。

四、只允許用戶(hù)登陸后才可以瀏覽

弊端:此方法會(huì )嚴重影響搜索引擎蜘蛛對其收錄
采集對策:目前落伍已經(jīng)有人發(fā)了對策文章 ,具體對策就看這個(gè)吧《ASP小偷程序如何利用XMLHTTP實(shí)現表單的提交以及cookies或session的發(fā)送》
建議:目前沒(méi)有好的改良建議
評論:建議指望搜索引擎帶流量的站長(cháng)不要使用此方法。不過(guò)此方法防一般的采集程序,還是有點(diǎn)效果的。

五、用javascript、vbscript腳本做分頁(yè)

弊端:影響搜索引擎對其收錄
采集對策:分析javascript、vbscript腳本,找出其分頁(yè)規則,自己做個(gè)對應此站的分頁(yè)集合頁(yè)即可。
建議:目前沒(méi)有好的改良建議
評論:感覺(jué)懂點(diǎn)腳本語(yǔ)言的人都能找出其分頁(yè)規則

六、只允許通過(guò)本站頁(yè)面連接查看,如:Request.ServerVariables("HTTP_REFERER")

弊端:影響搜索引擎對其收錄
采集對策:不知道能不能模擬網(wǎng)頁(yè)來(lái)源。。。。目前我沒(méi)有對應此方法的采集對策
建議:目前沒(méi)有好的改良建議
評論:建議指望搜索引擎帶流量的站長(cháng)不要使用此方法。不過(guò)此方法防一般的采集程序,還是有點(diǎn)效果的。

從以上可以看出,目前常用的防采集方法,要么會(huì )對搜索引擎收錄有較大影響,要么防采集效果不好,起不到防采集的效果。那么,還有沒(méi)有一種有效防采集,而又不影響搜索引擎收錄的方法呢?那就請繼續往下看吧!

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

一、分頁(yè)文件名規則防采集對策

大部分采集器都是靠分析分頁(yè)文件名規則,進(jìn)行批量、多頁(yè)采集的。如果別人找不出你的分頁(yè)文件的文件名規則,那么別人就無(wú)法對你的網(wǎng)站進(jìn)行批量多頁(yè)采集。

實(shí)現方法:

我認為用MD5加密分頁(yè)文件名是一個(gè)比較好的方法,說(shuō)到這里,有人會(huì )說(shuō),你用MD5加密分頁(yè)文件名,別人根據此規則也可以模擬你的加密規則得到你的分頁(yè)文件名。

我要指出的是我們加密分頁(yè)文件名時(shí),不要只加密文件名變化的部分

如果I代表分頁(yè)的頁(yè)碼,那么我們不要這樣加密:page_name=Md5(I,16)&".htm"

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

因為MD5是無(wú)法反解密的,別人看到的會(huì )頁(yè)字母是MD5加密后的結果,所以加人也無(wú)法知道你在 I 后面跟進(jìn)的字母是什么,除非他用暴力****MD5,不過(guò)不太現實(shí)。

二、頁(yè)面代碼規則防采集對策

如果說(shuō)我們的內容頁(yè)面無(wú)代碼規則,那么別人就無(wú)法從你的代碼中提取他們所需要的一條條內容。所以我們要的這一步做到防采集,就要使代碼無(wú)規則。

實(shí)現方法:

使對方需要提取的標記隨機化

1、定制多個(gè)網(wǎng)頁(yè)模板,每個(gè)網(wǎng)頁(yè)模板里的重要HTML標記不同,呈現頁(yè)面內容時(shí),隨機選取網(wǎng)頁(yè)模板,有的頁(yè)面用CSS+DIV布局,有的頁(yè)面用table布局,此方法是麻煩了點(diǎn),一個(gè)內容頁(yè)面,要多做幾個(gè)模板頁(yè)面,不過(guò)防采集本身就是一件很煩瑣的事情,多做一個(gè)模板,能起到防采集的作用,對很多人來(lái)說(shuō),都是值得的。
2、如果嫌上面的方法太麻煩,把網(wǎng)頁(yè)里的重要HTML標記隨機化,也可以。

做的網(wǎng)頁(yè)模板越多,html代碼越是隨機化,對方分析起內容代碼時(shí),就越麻煩,對方針對你的網(wǎng)站專(zhuān)門(mén)寫(xiě)采集策略時(shí),難度就更大,在這個(gè)時(shí)候,絕大部分人,都會(huì )知難而退,因為這此人就是因為懶,才會(huì )采集別人網(wǎng)站數據嘛~~~再說(shuō)一下,目前大部分人都是拿別人開(kāi)發(fā)的采集程序去采集數據,自己開(kāi)發(fā)采集程序去采集數據的人畢竟是少數。

還有些簡(jiǎn)單的思路提供給大家:

1、把對數據采集者重要,而對搜索引擎不重要的內容用客戶(hù)端腳本顯示
2、把一頁(yè)數據,分為N個(gè)頁(yè)面顯示,也是加大采集難度的方法
3、用更深層的連接,因為目前大部分采集程序只能采集到網(wǎng)站內容的前3層,如果內容所在的連接層更深,也可以避免被采集。不過(guò)這樣可能會(huì )給客戶(hù)造成瀏覽上的不便。如:

大多網(wǎng)站都是 首頁(yè)----內容索引分頁(yè)----內容頁(yè)
如果改成:
首頁(yè)----內容索引分頁(yè)----內容頁(yè)入口----內容頁(yè)
注:內容頁(yè)入口最好能加上自動(dòng)轉入內容頁(yè)的代碼

<meta http-equiv="refresh" content="6;url=內容頁(yè)(http://www.xiaoqi.net)">

其實(shí),只要做好防采集的第一步(加密分頁(yè)文件名規則),防采集的效果就已經(jīng)不錯了,還是建議兩條反采集方法同時(shí)使用,給采集者增加采集難度,使得他們知難頁(yè)退。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
打印Excel表格前如何將多頁(yè)變?yōu)橐豁?yè)
Java里面去掉網(wǎng)頁(yè)里的HTML標記的方法-計算機等級考試-考試大
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久