频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> asp教程 -> 一小偷类!!有兴趣的可以看看!!

一小偷类!!有兴趣的可以看看!!

作者:未知  来源:转载  发布时间:2005-7-26 9:08:40  发布人:acx

减小字体 增大字体

类代码 (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=""查看效果"">&nbsp;&nbsp;<INPUT name=Button onclick=asdf.select() type=button value=""全选"">&nbsp;&nbsp;<INPUT name=Button onclick=""asdf.value=''''"" type=button value=""清空"">&nbsp;&nbsp;<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
%>




将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
上一篇文章:我写的分页代码
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· FLASH入门及学AS编程的正..
· Flash MX2004入门与进阶..
· flash与ASP通信的几种方..
· 优酷融资2500万美元
· ASP基础讲座(上)
· Flash MV音乐和字幕的制..
· Flash制作书法动画1
· ASP进阶教程Ⅲ:给留言簿..
· Flash 动作脚本之:资料速..
· ASP中DLL的调试环境配置..
· 一个测试数据库连接的函..
· 绘制三维曲线
· 25种方式给网站添加优质..
· ASP网站开发常备:日期和..
· ".mobi"新域名全球叫卖 ..
· 教你精确编写高质量高性..
相关文章
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号