一小偷类!!有兴趣的可以看看 |
本文标签:一小偷类!!有兴趣的可以看看 类代码 (cls.asp) <% Class clsThief Private strUrl 偷取地址 Private strValue 偷取的内容,所有内容 Private strResult 偷取结果,可以具体某一块内容 Private flag 是否已经偷过 -------初始化类-------- Private Sub Class_Initialize() strUrl="" strValue="" strResult="" flag=false End Sub ------类结束----------- Private Sub Class_Terminate() End Sub ------初始化url属性---- Public Property Let url(ByVal iurl) strUrl = iurl End Property ------返回输出内容---- 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 -------内容抓取-------- 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("请设置url的属性,即url地址") end if end sub ------内容分析------ 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 = "没有匹配到相关记录,请检查开始标记代码是否唯一" end if end sub ----替换空格及回车行---- public sub Shift() if flag= false then call Seize() strResult=replace(replace(strResult , vbCr,""),vbLf,"") end sub ------对内容自定义替换---- Public sub Change(oldStr,newStr) if flag=false then call Seize() strResult = replace(strResult,oldStr,newStr) end sub --------自定义正则进行匹配--- 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 --------如果有首页文件则转入----------- 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 实例化类 myThief.CheckFile "","index.html" 检测是否已经偷过并生成 myThief.url="http://www.sohu.com" 目标URL myThief.Seize 开始偷取 myThief.Assay "<html>","-7","</html>","7" 剪切标记 myThief.Change "择优","浪人" 进行替换 value = myThief.result 最后得到的内容 myThief.MakeFile "","index.html" 生成文件 set myThief = nothing response.write value %> |