一小偷類!!有興趣的可以看看
更新時(shí)間:2007年03月12日 00:00:00 作者:
類代碼 (cls.asp)
<%
Class clsThief
Private strUrl ' 偷取地址
Private strValue ' 偷取的內(nèi)容,所有內(nèi)容
Private strResult ' 偷取結(jié)果,可以具體某一塊內(nèi)容
Private flag ' 是否已經(jīng)偷過
'-------初始化類--------'
Private Sub Class_Initialize()
strUrl=""
strValue=""
strResult=""
flag=false
End Sub
'------類結(jié)束-----------'
Private Sub Class_Terminate()
End Sub
'------初始化url屬性----'
Public Property Let url(ByVal iurl)
strUrl = iurl
End Property
'------返回輸出內(nèi)容----'
public property get value
value=strValue
end property
public property get result
result=strResult
end property
'------------文字處理-----------'
private 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
'-------文字處理-------'
private Function Ichange(str)
Dim finalStr
Dim icharCode
Dim inextCode
For i = 1 To lenb(str)
icharCode = ascb(midb(str,i,1))
If icharCode < &H80 Then
finalStr = finalStr & chr(icharCode)
Else
inextCode = ascb(midb(str,i+1,1))
finalstr = finalstr & chr(clng(icharCode) * &H100 + cint(inextCode))
i = i + 1
End If
Next
Ichange = finalStr
End Function
'-------內(nèi)容抓取--------'
Public sub Seize()
if strUrl<>"" then
dim iconnect
Set iconnect = CreateObject("Microsoft.XMLHTTP")
iconnect.open "GET",strUrl,false
iconnect.send()
strValue = BytesToBSTR(iconnect.responseBody,"GB2312")
flag=true
set iconnect = nothing
if err.number<>0 then err.Clear
else
response.write("請(qǐng)?jiān)O(shè)置url的屬性,即url地址")
end if
end sub
'------內(nèi)容分析------'
Public sub Assay(head,headCusor,bot,botCusor)
if flag = false then call Seize()
if instr(strValue,head) and instr(strValue,bot) then
dim inum
inum = len(strValue)-instr(strValue,head)-len(head)-headCusor
strValue=right(strValue,inum)
inum = instr(strValue,bot)-1+botCusor
strResult=left(strValue,inum)
else
strResult = "沒有匹配到相關(guān)記錄,請(qǐng)檢查開始標(biāo)記代碼是否唯一"
end if
end sub
'----替換空格及回車行----'
public sub Shift()
if flag= false then call Seize()
strResult=replace(replace(strResult , vbCr,""),vbLf,"")
end sub
'------對(duì)內(nèi)容自定義替換----'
Public sub Change(oldStr,newStr)
if flag=false then call Seize()
strResult = replace(strResult,oldStr,newStr)
end sub
'--------自定義正則進(jìn)行匹配---'
public sub pickByReg(patrn)
if isGet_= false then call Seize()
dim tempReg,match,matches,content
set tempReg=new RegExp
tempReg.IgnoreCase=true
tempReg.Global=true
tempReg.Pattern=patrn
set matches=tempReg.execute(value_)
for each match in matches
content=content&match.value&"<!--lkstar-->"
next
strValue=content
set matches=nothing
set tempReg=nothing
end sub
'--------如果有首頁文件則轉(zhuǎn)入-----------'
Public sub CheckFile(folderName,fileName)
dim url
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FolderExists(server.MapPath("./")&"\"&folderName&"\"&fileName) then
set fs = nothing
url = folderName&"/"&fileName
response.write url
'response.redirect url
end if
end sub
'------生成文件------'
Public sub MakeFile(folderName,fileName)
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if folderName<>"" then
if not fs.FolderExists(server.MapPath("/"&folderName&"/")) then
response.write "文件不存在"
fs.CreateFolder(folderName)
else
response.write "文件存在"
end if
end if
Set CrFi=fs.CreateTextFile(server.MapPath("./")&"\"&folderName&"\"&fileName)
Crfi.Writeline(strResult)
set CrFi=nothing
set fs=nothing
dim url
url = folderName&"/"&fileName
response.redirect url
end sub
'-------查看偷出的代碼----'
public sub look()
dim tempstr
tempstr="<SCRIPT>function runEx(){var winEx2 = window.open("""", ""winEx2"", ""width=500,height=300,status=yes,menubar=no,scrollbars=yes,resizable=yes""); winEx2.document.open(""text/html"", ""replace""); winEx2.document.write(unescape(event.srcElement.parentElement.children[0].value)); winEx2.document.close(); }function saveFile(){var win=window.open('','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm');win.close();}</SCRIPT><center><TEXTAREA id=asdf name=textfield rows=32 wrap=VIRTUAL cols=""120"">"&strResult&"</TEXTAREA><BR><BR><INPUT name=Button onclick=runEx() type=button value=""查看效果""> <INPUT name=Button onclick=asdf.select() type=button value=""全選""> <INPUT name=Button onclick=""asdf.value=''"" type=button value=""清空""> <INPUT onclick=saveFile(); type=button value=""保存代碼""></center>"
response.Write(tempstr)
end sub
end class
%>
引用頁(test.asp)
<!--#Include File="cls.asp"-->
<%
dim myThief,value
set myThief = new clsThief '實(shí)例化類
myThief.CheckFile "","index.html" '檢測(cè)是否已經(jīng)偷過并生成
myThief.url="http://www.sohu.com" '目標(biāo)URL
myThief.Seize '開始偷取
myThief.Assay "<html>","-7","</html>","7" '剪切標(biāo)記
myThief.Change "擇優(yōu)","浪人" '進(jìn)行替換
value = myThief.result '最后得到的內(nèi)容
myThief.MakeFile "","index.html" '生成文件
set myThief = nothing
'response.write value
%>
<%
Class clsThief
Private strUrl ' 偷取地址
Private strValue ' 偷取的內(nèi)容,所有內(nèi)容
Private strResult ' 偷取結(jié)果,可以具體某一塊內(nèi)容
Private flag ' 是否已經(jīng)偷過
'-------初始化類--------'
Private Sub Class_Initialize()
strUrl=""
strValue=""
strResult=""
flag=false
End Sub
'------類結(jié)束-----------'
Private Sub Class_Terminate()
End Sub
'------初始化url屬性----'
Public Property Let url(ByVal iurl)
strUrl = iurl
End Property
'------返回輸出內(nèi)容----'
public property get value
value=strValue
end property
public property get result
result=strResult
end property
'------------文字處理-----------'
private 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
'-------文字處理-------'
private Function Ichange(str)
Dim finalStr
Dim icharCode
Dim inextCode
For i = 1 To lenb(str)
icharCode = ascb(midb(str,i,1))
If icharCode < &H80 Then
finalStr = finalStr & chr(icharCode)
Else
inextCode = ascb(midb(str,i+1,1))
finalstr = finalstr & chr(clng(icharCode) * &H100 + cint(inextCode))
i = i + 1
End If
Next
Ichange = finalStr
End Function
'-------內(nèi)容抓取--------'
Public sub Seize()
if strUrl<>"" then
dim iconnect
Set iconnect = CreateObject("Microsoft.XMLHTTP")
iconnect.open "GET",strUrl,false
iconnect.send()
strValue = BytesToBSTR(iconnect.responseBody,"GB2312")
flag=true
set iconnect = nothing
if err.number<>0 then err.Clear
else
response.write("請(qǐng)?jiān)O(shè)置url的屬性,即url地址")
end if
end sub
'------內(nèi)容分析------'
Public sub Assay(head,headCusor,bot,botCusor)
if flag = false then call Seize()
if instr(strValue,head) and instr(strValue,bot) then
dim inum
inum = len(strValue)-instr(strValue,head)-len(head)-headCusor
strValue=right(strValue,inum)
inum = instr(strValue,bot)-1+botCusor
strResult=left(strValue,inum)
else
strResult = "沒有匹配到相關(guān)記錄,請(qǐng)檢查開始標(biāo)記代碼是否唯一"
end if
end sub
'----替換空格及回車行----'
public sub Shift()
if flag= false then call Seize()
strResult=replace(replace(strResult , vbCr,""),vbLf,"")
end sub
'------對(duì)內(nèi)容自定義替換----'
Public sub Change(oldStr,newStr)
if flag=false then call Seize()
strResult = replace(strResult,oldStr,newStr)
end sub
'--------自定義正則進(jìn)行匹配---'
public sub pickByReg(patrn)
if isGet_= false then call Seize()
dim tempReg,match,matches,content
set tempReg=new RegExp
tempReg.IgnoreCase=true
tempReg.Global=true
tempReg.Pattern=patrn
set matches=tempReg.execute(value_)
for each match in matches
content=content&match.value&"<!--lkstar-->"
next
strValue=content
set matches=nothing
set tempReg=nothing
end sub
'--------如果有首頁文件則轉(zhuǎn)入-----------'
Public sub CheckFile(folderName,fileName)
dim url
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FolderExists(server.MapPath("./")&"\"&folderName&"\"&fileName) then
set fs = nothing
url = folderName&"/"&fileName
response.write url
'response.redirect url
end if
end sub
'------生成文件------'
Public sub MakeFile(folderName,fileName)
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if folderName<>"" then
if not fs.FolderExists(server.MapPath("/"&folderName&"/")) then
response.write "文件不存在"
fs.CreateFolder(folderName)
else
response.write "文件存在"
end if
end if
Set CrFi=fs.CreateTextFile(server.MapPath("./")&"\"&folderName&"\"&fileName)
Crfi.Writeline(strResult)
set CrFi=nothing
set fs=nothing
dim url
url = folderName&"/"&fileName
response.redirect url
end sub
'-------查看偷出的代碼----'
public sub look()
dim tempstr
tempstr="<SCRIPT>function runEx(){var winEx2 = window.open("""", ""winEx2"", ""width=500,height=300,status=yes,menubar=no,scrollbars=yes,resizable=yes""); winEx2.document.open(""text/html"", ""replace""); winEx2.document.write(unescape(event.srcElement.parentElement.children[0].value)); winEx2.document.close(); }function saveFile(){var win=window.open('','','top=10000,left=10000');win.document.write(document.all.asdf.innerText);win.document.execCommand('SaveAs','','javascript.htm');win.close();}</SCRIPT><center><TEXTAREA id=asdf name=textfield rows=32 wrap=VIRTUAL cols=""120"">"&strResult&"</TEXTAREA><BR><BR><INPUT name=Button onclick=runEx() type=button value=""查看效果""> <INPUT name=Button onclick=asdf.select() type=button value=""全選""> <INPUT name=Button onclick=""asdf.value=''"" type=button value=""清空""> <INPUT onclick=saveFile(); type=button value=""保存代碼""></center>"
response.Write(tempstr)
end sub
end class
%>
引用頁(test.asp)
<!--#Include File="cls.asp"-->
<%
dim myThief,value
set myThief = new clsThief '實(shí)例化類
myThief.CheckFile "","index.html" '檢測(cè)是否已經(jīng)偷過并生成
myThief.url="http://www.sohu.com" '目標(biāo)URL
myThief.Seize '開始偷取
myThief.Assay "<html>","-7","</html>","7" '剪切標(biāo)記
myThief.Change "擇優(yōu)","浪人" '進(jìn)行替換
value = myThief.result '最后得到的內(nèi)容
myThief.MakeFile "","index.html" '生成文件
set myThief = nothing
'response.write value
%>
相關(guān)文章
isnumeric檢測(cè)是否為數(shù)字類型的asp代碼
ASP判斷是否為數(shù)字通常用isnumeric()函數(shù),它的作用是判斷里面的參數(shù)表達(dá)式是不是數(shù)值2007-11-11
asp cookie中文Javascript取得中文cookie
這篇文章主要介紹了asp cookie中文Javascript取得中文cookie,原理就是將中文編碼改成UTF-8編碼格式,傳到前臺(tái),再用JS將其解碼2014-07-07
不用WinRar只有asp將網(wǎng)絡(luò)空間上的文件打包下載
非常不錯(cuò)的asp代碼,此方法,不建議壓縮,大文件,一般的小文件壓幾個(gè)還很好用的2008-08-08
錯(cuò)誤類型:Provider (0x80004005)未指定的錯(cuò)誤 的一個(gè)處理方法
一般情況下asp可以正常運(yùn)行,但只要連接數(shù)據(jù)庫就提示,Microsoft JET Database Engine 錯(cuò)誤'80004005'2007-04-04
重置TSYS系統(tǒng)中的所有"生成的文件"成"未生成文件"
重置TSYS系統(tǒng)中的所有"生成的文件"成"未生成文件"...2007-01-01
ASP實(shí)現(xiàn)強(qiáng)制圖片下載函數(shù)
最近做的一個(gè)asp項(xiàng)目需要強(qiáng)制下載圖片,我在網(wǎng)上找了很多關(guān)于下載遠(yuǎn)程圖片的ASP代碼,但測(cè)試結(jié)果都不行。沒辦法只好自己操刀了,有什么紕漏的地方還請(qǐng)大家指出。2015-05-05

