版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.:.;轉(zhuǎn)網(wǎng)站生成靜態(tài)頁面的幾種戰(zhàn)略2021-02-02 11:13網(wǎng)站生成靜態(tài)頁面,及網(wǎng)站數(shù)據(jù)采集的攻、防原理和戰(zhàn)略目前很多人都開場(chǎng)注重動(dòng)態(tài)頁面生成HTML頁了,但選擇哪種生成HTML的方法和防采集卻不防搜索引擎的問題卻經(jīng)常困擾大家。處理此問題那么是本文產(chǎn)生的緣由。首先祥細(xì)說一下常用的幾種生成HTML的方法:生成HTML方法主要步驟只需兩個(gè):一、獲取要生成的html文件的內(nèi)容二、將獲取的html文件內(nèi)容保管為html文件我在這里主要闡明的只是第一步:如何獲取要生成的html文件的內(nèi)容:目前常用獲取html文件的內(nèi)容的方法有幾下幾種:1、str=內(nèi)容str=str&內(nèi)容數(shù)據(jù)庫讀取內(nèi)容這種方法與
2、是在腳本內(nèi)寫要生成的html內(nèi)容,不太方便預(yù)覽生成頁面的內(nèi)容,無法可視化規(guī)劃頁面,更改html模板時(shí)會(huì)更加復(fù)雜。用這種方法的人很多,但我覺得這種方法是最不方便的。2、制造單獨(dú)的HTML模板頁,動(dòng)態(tài)的內(nèi)容用特定的字符作為標(biāo)志(如:有人用$title$標(biāo)志為網(wǎng)頁標(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)頁所顯示的HTML內(nèi)容,我常用的生成html文件
3、的實(shí)例:weburl是要獲取的動(dòng)態(tài)頁地址getHTTPPage(weburl)是獲取動(dòng)態(tài)頁內(nèi)容的函數(shù)weburl= HYPERLINK &Request.ServerVariables(SERVER_NAME)&/contact.asp?id=&rs(id)&指定動(dòng)態(tài)頁地址body=getHTTPPage(weburl)用函數(shù)取到動(dòng)態(tài)頁地址的內(nèi)容此方法最大的益處就是不用費(fèi)力氣專門去寫靜態(tài)的模板頁面,只是將原來就有的動(dòng)態(tài)頁面轉(zhuǎn)換為HTML靜態(tài)頁面,但生成速度不是太快。我常用的生成HTML的方法就是第3種:用XMLHTTP獲取動(dòng)態(tài)頁生成的HTML內(nèi)容,再用ADODB.Stream或者Scripti
4、ng.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=文件內(nèi)容用WriteLine方法生成文件txt.WriteLine da
5、ta1data2=文件內(nèi)容用Write方法生成文件txt.Write data2txt.Closetxt.fso2、ADODB.Stream生成文件方法:Dim objAdoStreamset objAdoStream = Server.createObject(ADODB.Stream)objAdoStream.Type = 1objAdoStream.Open()objAdoStream.Write(文件內(nèi)容)objAdoStream.SaveToFile 要生成文件途徑和文件名.htm,2objAdoStream.Close()再說一下我對(duì)HTML防采集卻不防搜索引擎蜘蛛的一些閱歷:我開
6、發(fā)過幾個(gè)采集程序,也研討過很多采集程序代碼,所以對(duì)采集程序的原理還算是略微有些了解。先說一下采集原理:采集程序的主要步驟如下:一、獲取被采集的頁面的內(nèi)容二、從獲取代碼中提取一切用的數(shù)據(jù)一、獲取被采集的頁面的內(nèi)容我目前所掌握的ASP常用獲取被采集的頁面的內(nèi)容方法:1、用serverXMLHTTP組件獲取數(shù)據(jù)Function GetBody(weburl)創(chuàng)建對(duì)象Dim ObjXMLHTTPSet ObjXMLHTTP=Server.CreateObject(MSXML2.serverXMLHTTP)懇求文件,以異步方式ObjXMLHTTP.Open GET,weburl,FalseObjXMLH
7、TTP.sendWhile ObjXMLHTTP.readyState 4ObjXMLHTTP.waitForResponse 1000Wend得到結(jié)果GetBody=ObjXMLHTTP.responseBody釋放對(duì)象Set ObjXMLHTTP=NothingEnd Function調(diào)用方法:GetBody(文件的URLf地址)2、或XMLHTTP組件獲取數(shù)據(jù)Function GetBody(weburl)創(chuàng)建對(duì)象Set Retrieval = CreateObject(Microsoft.XMLHTTP)With Retrieval.Open Get, weburl, False, ,
8、 .SendGetBody = .ResponseBodyEnd With釋放對(duì)象Set Retrieval = NothingEnd Function調(diào)用方法:GetBody(文件的URLf地址)這樣獲取的數(shù)據(jù)內(nèi)容還需求進(jìn)展編碼轉(zhuǎn)換才可以運(yùn)用Function BytesToBstr(body,Cset)dim objstreamset objstream = Server.CreateObject(adodb.stream)objstream.Type = 1objstream.Mode =3objstream.Openobjstream.Write bodyobjstream.Positi
9、on = 0objstream.Type = 2objstream.Charset = CsetBytesToBstr = objstream.ReadTextobjstream.Closeset objstream = nothingEnd Function調(diào)用方法:BytesToBstr(要轉(zhuǎn)換的數(shù)據(jù),編碼)編碼常用為GB2312和UTF-8二、從獲取代碼中提取一切用的數(shù)據(jù)目前我掌握的方法有:1、用ASP內(nèi)置的MID函數(shù)截取需求的數(shù)據(jù)Function body(wstr,start,over)start=Newstring(wstr,start)設(shè)置需求處置的數(shù)據(jù)的獨(dú)一的開場(chǎng)標(biāo)志over=
10、Newstring(wstr,over)和start相對(duì)應(yīng)的就是需求處置的數(shù)據(jù)的獨(dú)一的終了標(biāo)志body=mid(wstr,start,over-start)設(shè)置顯示頁面的范圍End Function調(diào)用方法:body(被采集的頁面的內(nèi)容,開場(chǎng)標(biāo)志,終了標(biāo)志)2、用正那么獲取需求的數(shù)據(jù)Function body(wstr,start,over)Set xiaoqi = New Regexp設(shè)置配置對(duì)象xiaoqi.IgnoreCase = True忽略大小寫xiaoqi.Global = True設(shè)置為全文搜索xiaoqi.Pattern = &start&“.+?&over&“正那么表達(dá)式Se
11、t Matches =xiaoqi.Execute(wstr)開場(chǎng)執(zhí)行配置set xiaoqi=nothingbody=For Each Match in Matchesbody=body&Match.Value 循環(huán)匹配NextEnd Function調(diào)用方法:body(被采集的頁面的內(nèi)容,開場(chǎng)標(biāo)志,終了標(biāo)志)采集程序祥細(xì)思緒:1、獲得網(wǎng)站的分頁列表頁的每頁地址目前絕大部分動(dòng)態(tài)網(wǎng)站的分頁地址都有規(guī)那么,如:動(dòng)態(tài)頁第一頁:index.asp?page=1第二頁:index.asp?page=2第三頁:index.asp?page=3靜態(tài)頁第一頁:page_1.htm第二頁:page_2.htm
12、第三頁:page_3.htm獲得網(wǎng)站的分頁列表頁的每頁地址,只需求用變量替代每頁地址的變化的字符即可如:page_.htm2、獲取被采集網(wǎng)站的分頁列表頁內(nèi)容3、從分頁列表代碼中提取被采集的內(nèi)容頁面的URL銜接地址絕大部分分頁頁面里的內(nèi)容頁銜接也有固定規(guī)那么,如:銜接1銜接2銜接3用以下代碼就可以獲得一個(gè)URL銜接集合Set xiaoqi = New Regexpxiaoqi.IgnoreCase = Truexiaoqi.Global = Truexiaoqi.Pattern = “.+?“Set Matches =xiaoqi.Execute(頁面列表內(nèi)容)set xiaoqi=nothin
13、gurl=For Each Match in Matchesurl=url&Match.ValueNext4、獲得被采集的內(nèi)容頁面內(nèi)容,根據(jù)提取標(biāo)志“從被采集的內(nèi)容頁面分別截取要獲得的數(shù)據(jù)。由于是動(dòng)態(tài)生成的頁面,大多數(shù)內(nèi)容頁面內(nèi)都有一樣的html標(biāo)志,我們可以根據(jù)這些有規(guī)那么的標(biāo)志提取需求的各個(gè)部分的內(nèi)容。如:每個(gè)頁面都有網(wǎng)頁標(biāo)題網(wǎng)頁標(biāo)題,用我上面寫的MID截取函數(shù)就可以獲得之間的值,也可以用正那么表達(dá)式來獲得。例:body(網(wǎng)頁標(biāo)題,)目前防采集的方法有很多種,先引見一下常見防采集戰(zhàn)略方法和它的弊端及采集對(duì)策:一、判別一個(gè)IP在一定時(shí)間內(nèi)對(duì)本站頁面的訪問次數(shù),假設(shè)明顯超越了正常人閱讀速度,就
14、回絕此IP訪問弊端:1、此方法只適用于動(dòng)態(tài)頁面,如:aspjspphp等.靜態(tài)頁面無法判別某個(gè)IP一定時(shí)間訪問本站頁面的次數(shù)。2、此方法會(huì)嚴(yán)重影響搜索引擎蜘蛛對(duì)其收錄,由于搜索引擎蜘蛛收錄時(shí),閱讀速度都會(huì)比較快而且是多線程。此方法也會(huì)回絕搜索引擎蜘蛛收錄站內(nèi)文件采集對(duì)策:只能放慢采集速度,或者不采建議:做個(gè)搜索引擎蜘蛛的IP庫,只允許搜索引擎蜘蛛快速閱讀站內(nèi)內(nèi)容。搜索引擎蜘蛛的IP庫的搜集,也不太容易,一個(gè)搜索引擎蜘蛛,也不一定只需一個(gè)固定的IP地址。評(píng)論:此方法對(duì)防采集比較有效,但卻會(huì)影響搜索引擎對(duì)其收錄。二、用javascript加密內(nèi)容頁面弊端:此方法適用于靜態(tài)頁面,但會(huì)嚴(yán)重影響搜索引擎
15、對(duì)其收錄情況,搜索引擎收到到的內(nèi)容,也都是加密后的內(nèi)容采集對(duì)策:建議不采,如非要采,就把解密碼的JS腳本也采下來。建議:目前沒有好的改良建議評(píng)論:建議指望搜索引擎帶流量的站長不要運(yùn)用此方法。三、把內(nèi)容頁面里的特定標(biāo)志交換為特定標(biāo)志+隱藏版權(quán)文字“弊端:此方法弊端不大,僅僅會(huì)添加一點(diǎn)點(diǎn)的頁面文件大小,但容易反采集采集對(duì)策:把采集來的含有隱藏版權(quán)文字內(nèi)容的版權(quán)文字替掉,或交換本錢人的版權(quán)。建議:目前沒有好的改良建議評(píng)論:本人覺得適用價(jià)值不大,就算是加上隨機(jī)的隱藏文字,也等于畫蛇添足。四、只允許用戶登陸后才可以閱讀弊端:此方法會(huì)嚴(yán)重影響搜索引擎蜘蛛對(duì)其收錄采集對(duì)策:目前落伍曾經(jīng)有人發(fā)了對(duì)策文章 ,詳
16、細(xì)對(duì)策就看這個(gè)吧建議:目前沒有好的改良建議評(píng)論:建議指望搜索引擎帶流量的站長不要運(yùn)用此方法。不過此方法防普通的采集程序,還是有點(diǎn)效果的。五、用javascript、vbscript腳本做分頁弊端:影響搜索引擎對(duì)其收錄采集對(duì)策:分析javascript、vbscript腳本,找出其分頁規(guī)那么,本人做個(gè)對(duì)應(yīng)此站的分頁集合頁即可。建議:目前沒有好的改良建議評(píng)論:覺得懂點(diǎn)腳本言語的人都能找出其分頁規(guī)那么六、只允許經(jīng)過本站頁面銜接查看,如:Request.ServerVariables(HTTP_REFERER)弊端:影響搜索引擎對(duì)其收錄采集對(duì)策:不知道能不能模擬網(wǎng)頁來源。目前我沒有對(duì)應(yīng)此方法的采集對(duì)策
17、建議:目前沒有好的改良建議評(píng)論:建議指望搜索引擎帶流量的站長不要運(yùn)用此方法。不過此方法防普通的采集程序,還是有點(diǎn)效果的。從以上可以看出,目前常用的防采集方法,要么會(huì)對(duì)搜索引擎收錄有較大影響,要么防采集效果不好,起不到防采集的效果。那么,還有沒有一種有效防采集,而又不影響搜索引擎收錄的方法呢?那就請(qǐng)繼續(xù)往下看吧!從前面的我講的采集原理大家可以看出,絕大多數(shù)采集程序都是靠分析規(guī)那么來進(jìn)展采集的,如分析分頁文件名規(guī)那么、分析頁面代碼規(guī)那么。一、分頁文件名規(guī)那么防采集對(duì)策大部分采集器都是靠分析分頁文件名規(guī)那么,進(jìn)展批量、多頁采集的。假設(shè)他人找不出他的分頁文件的文件名規(guī)那么,那么他人就無法對(duì)他的網(wǎng)站進(jìn)展
18、批量多頁采集。實(shí)現(xiàn)方法:我以為用MD5加密分頁文件名是一個(gè)比較好的方法,說到這里,有人會(huì)說,他用MD5加密分頁文件名,他人根據(jù)此規(guī)那么也可以模擬他的加密規(guī)那么得到他的分頁文件名。我要指出的是我們加密分頁文件名時(shí),不要只加密文件名變化的部分假設(shè)I代表分頁的頁碼,那么我們不要這樣加密:page_name=Md5(I,16)&.htm最好給要加密的頁碼上再跟進(jìn)一個(gè)或多個(gè)字符,如:page_name=Md5(I&恣意一個(gè)或幾個(gè)字母,16)&.htm由于MD5是無法反解密的,他人看到的會(huì)頁字母是MD5加密后的結(jié)果,所以加人也無法知道他在 I 后面跟進(jìn)的字母是什么,除非他用暴力*MD5,不過不太現(xiàn)實(shí)。二、頁面代碼規(guī)那么防采集對(duì)策假設(shè)說我們的內(nèi)容頁面無代碼規(guī)那么,那么他人就無法從他的代碼中提取他們所需求的一條條內(nèi)容。所以我們要的這一步做到防采集,就要使代碼無規(guī)那么。實(shí)現(xiàn)方法:使對(duì)方需求提取的標(biāo)志隨機(jī)化1、定制多個(gè)網(wǎng)頁模板,每
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度Logo設(shè)計(jì)及品牌形象重塑合同
- 家具供應(yīng)合同范本
- 2024簡單的農(nóng)村土地轉(zhuǎn)讓合同
- 二手房交易合同-范本
- 2024上市公司合同管理辦法
- 標(biāo)準(zhǔn)店面租賃合同書樣本
- 2024內(nèi)粉墻刷白合同
- 2024年借款延期合同范本
- 2024墻紙采購合同
- 2024小區(qū)綠化種植合同
- 中考模擬考語文試卷分析
- 解碼國家安全知到章節(jié)答案智慧樹2023年國際關(guān)系學(xué)院
- 三年級(jí)家長會(huì)PPT語文教師用
- 初中英語教師教學(xué)經(jīng)驗(yàn)交流發(fā)言稿(3篇)
- 喬治華盛頓介紹George Washington
- 2022年北京科技大學(xué)第二批非教學(xué)科研崗位招聘筆試備考題庫及答案解析
- 衛(wèi)生監(jiān)督協(xié)管員考核試卷及答案
- 小品搞笑大全劇本完整-搞笑小品劇本:《四大才子》
- 腳內(nèi)側(cè)傳球說課PPT
- 2023年湖南化工職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫及答案解析
- 檢查工作紀(jì)律及注意事項(xiàng)
評(píng)論
0/150
提交評(píng)論