日期:2014-05-17 浏览次数:20763 次
<% Class clsThief '____________________ Private value_ '窃取到的内容 Private src_ '要偷的目标URL地址 Private isGet_ '判断是否已经偷过 public property let src(str) '赋值—要偷的目标URL地址/属性 src_=str end property public property get value '返回值—最终窃取并应用类方法加工过的内容/属性 value=value_ end property Public Property get Version Version="先锋海盗类 Version 2005" End Property private sub class_initialize() value_="" src_="" isGet_= false end sub private sub class_terminate() end sub 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 public sub steal() '窃取目标URL地址的HTML代码/方法 if src_<>"" then dim Http set Http=server.createobject("MSXML2.XMLHTTP") Http.open "GET",src_ ,false Http.send() if Http.readystate<>4 then exit sub end if value_=BytesToBSTR(Http.responseBody,"GB2312") isGet_= True set http=nothing if err.number<>0 then err.Clear else response.Write("<script>alert(""请先设置src属性!"")</script>") end if end sub '删除偷到的内容中里面的换行、回车符以便进一步加工/方法 public sub noReturn() if isGet_= false then call steal() value_=replace(replace(value_ , vbCr,""),vbLf,"") end sub '对偷到的内容中的个别字符串用新值更换/方法 public sub change(oldStr,str) '参数分别是旧字符串,新字符串 if isGet_= false then call steal() value_=replace(value_ , oldStr,str) end sub '[color=#FF0000]主要是下面这里报错[/color] '按指定首尾字符串对偷取的内容进行裁减(不包括首尾字符串)/方法 public sub cut(head,bot) '参数分别是首字符串,尾字符串 if isGet_= false then call steal() if instr(value_ , head)>0 and instr(value_ , bot)>0 then value_=mid(value_ ,instr(value_ ,head)+len(head),instr(value_ ,bot)-instr(value_ ,head)-len(head)) else value_= "<p align=""center"">您查看的页面功能暂时未开放,请返回首页或加入我们的QQ群:4605923" end if end sub '按指定首尾字符串对偷取的内容进行裁减(包括首尾字符串)/方法 public sub cutX(head,bot) '参数分别是首字符串,尾字符串 if isGet_= false then call steal() if instr(value_,head)>0 and instr(value_,bot)>0 then value_=mid(value_ ,instr(value_ ,head),instr(value_ ,bot)-instr(value_ ,head)+len(bot)) else value_= "<p align=""center"">函数cutX指定裁减的内容不存在" end if end sub '按指定首尾字符串位置偏移指针对偷取的内容进行裁减/方法 public sub cutBy(head,headCusor,bot,botCusor) '参数分别是首字符串,首偏移值,尾字符串,尾偏移值,左偏移用负值,偏移指针单位为字符数 if isGet_= false then call steal() if instr(value_,head)>0 and instr(value_,bot)>0 then value_=mid(value_ ,instr(value_ ,head)+len(head)+headCusor,instr(value_ ,bot)-1+botCusor-instr(value_ ,head)-len(head)-headcusor) else value_= "<p align=""center"">函数cutBy指定裁减内容不存在" end if end sub '按指定首尾字符串对偷取的内容用新值进行替换(不包括首尾字符串)/方法 public sub filt(head,bot,str) '参数分别是首字符串,尾字符串,新值,新值位空则为过滤 if isGet_= false then call steal() if instr(value_,head)>0 and instr(value_,bot)>0 then value_=replace(value_,mid(value_ ,instr(value_ ,head)+len(head) , instr(value_ ,bot)-instr(value_ ,head)-len(head)),str) else value_= "<p align=""center"">函数filt指定替换的内容不存在" end if end sub '按指定首尾字符串对偷取的内容用新值进行替换(包括首尾字符串)/方法 public sub filtX(head,bot,str) '参数分别是首字符串,尾字符串,新值,新值为空则为过滤 if isGet_= false then call steal() if instr(value_,head)>0 and instr(va