先锋海盗类_小偷/采集

<%
'转发时请保留此声明信息,这段声明不并会影响你的速度!
'**************************   【先锋海盗类】Ver2005  最终版********************************
'作者:孙立宇、apollosun、ezhonghua
'改进者:arllic
'【消除所有的BUG,去掉了一些不易使用,容易使人误解的功能,优化了执行效率,此为最终版】
'官方网站:http://www.lkstar.com   技术支持论坛:http://bbs.lkstar.com
'电子邮件:kickball@netease.com    在线QQ:94294089
'版权声明:版权没有,盗版不究,源码公开,各种用途均可免费使用,欢迎你到技术论坛来寻求支持。
'——小偷程序的原理是通过XHTML和ASP技术相结合,定向集中采集远程网页内容加工后转为本地虚拟网页。
'——此技术自诞生以来由于它的信息覆盖面、广同步更新和免维护的特性一直受到各编程爱好者的关注和追捧。
'——目前国内比较流行的实时新闻、闪客动漫、流行歌曲、软件下载、天气预报、股票查询等优秀作品。
'——然而由于制作小偷程序的过程过于复杂和繁琐,还由于远程网页代码的变更而经常失效,这使小偷网页的
'维护成为一个噩梦!所以到目前为止,目前此类佳作不多,技术也集中在小部分人手中。
'——先锋海盗类的诞生将使小偷程序的制作和维护变得容易起来。先锋海盗类提供的12种类方法将使你对采集
'内容的编辑掌控能力变得空前强大,另有贴心的类排错debug方法可以使你随时观察自己在各步骤获得的代码和
'页面显示效果,彻底掌握这些类方法将使你为所欲为地采集编辑各种远程页面,而且维护也相当方便!
'——总而言之,使用先锋海盗类将使你的"小偷"程序晋升为"海盗"程序!
'详细使用说明或范例请见下载附件或到本人官方站点下载!
'-------------------------------------------------------------------------------------
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

'按指定首尾字符串对偷取的内容进行裁减(不包括首尾字符串)/方法
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"">函数cut指定裁减内容不存在,请重新定义"
  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(value_,bot)>0 then
        value_=replace(value_,mid(value_ ,instr(value_ ,head),instr(value_ ,bot)-instr(value_ ,head)+len(bot)),str)
  else
   value_= "<p align=""center"">函数filtX指定替换的内容不存在"
  end if
end sub

'按指定首尾字符串位置偏移指针对偷取的内容新值进行替换/方法
public sub filtBy(head,headCusor,bot,botCusor,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)+headCusor,instr(value_ ,bot)-1+botCusor-instr(value_ ,head)-len(head)-headcusor),str)
  else
   value_= "<p align=""center"">函数filtBy指定替换的内容不存在"
  end if
end sub

'对符合条件的内容进行分块采集并组合,最终内容为以<!--lkstar-->隔断的大文本/方法
'通过属性value得到此内容后你可以用split(value,"<!--lkstar-->")得到你需要的数组
public sub rebuild(str) '参数是你目标页面反复出现的特征字符
if isGet_= false then call steal()
value_= replace(value_,str,vbcrlf&"<!--lkstar-->"&vbcrlf)
end sub

'类排错模式——在类释放之前应用此方法可以随时查看你截获的内容HTML代码和页面显示效果/方法
public sub debug()
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"">"&value_&"</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
%>

时间: 2024-09-30 19:35:26

先锋海盗类_小偷/采集的相关文章

直接保存URL图像或网页到服务器本地的类_小偷/采集

复制代码 代码如下: <% @ LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% Option Explicit Class BoxInfoImg     '传输类的使用方法     '图象上传和上传信息获取CLASS     '用法:     'dim imgUp     'set imgUp=new BoxInfoImg     '属性:      'imgUp.width    '宽     'imgUp.hei

【先锋海盗类】Ver2005 最终版_ASP CLASS类

复制代码 代码如下: <%  '转发时请保留此声明信息,这段声明不并会影响你的速度! '**************************   [先锋海盗类]Ver2005  最终版******************************** '作者:孙立宇.apollosun.ezhonghua '改进者:arllic  '[消除所有的BUG,去掉了一些不易使用,容易使人误解的功能,优化了执行效率,此为最终版] '官方网站:http://www.lkstar.com   技术支持论坛:h

先锋海盗类

<% '转发时请保留此声明信息,这段声明不并会影响你的速度!'**************************   [先锋海盗类]Ver2005  最终版********************************'作者:孙立宇.apollosun.ezhonghua'改进者:arllic '[消除所有的BUG,去掉了一些不易使用,容易使人误解的功能,优化了执行效率,此为最终版]'官方网站:http://www.lkstar.com   技术支持论坛:http://bbs.lkstar.

如何写ASP入库小偷程序_小偷/采集

现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面我来做个简单介绍,希望对各位站长有所帮助. (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页.比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤.用小偷程序的优点有:无须维护网站,因为小偷程序中的数据来自其他网站,它将随着该网站的更新而更新:可以节省服务器资源,一般小偷程序就几个文件,所有网页内容都是来自其他网站.

小偷&amp;amp;小偷入库&amp;amp;采集入库_小偷/采集

XMLHTTP应用参考  一.使用步骤:  1.创建XMLHTTP对象 //需MSXML4.0支持  2.打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等.客户端通过Open命令打开与服务端的服务网页的连接.与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页.  3.发送指令.  4.等待并接收服务端返回的处理结果.  5.释放XMLHTTP对象  二.XMLHTTP方法:  1.XMLHTTP对象  备注

如何采集静态文章系统_小偷/采集

目前网站基本上都生成静态的了,对于那些技术不是很高深的小偷来说,去偷一个文件名是以时间加随机数来命名的文章系统,有点困难,而目前的大多数静态的系统都是以这样的方式命名的,这个不像有asp?id=1 to asp?id=100这样好这个命名是没规律的,那么,这种文章系统怎么样采呢,以下就以自已的站www.asp315.com这例来写一篇关于采集静态文章系统的教程吧!  首先,我们打开www.asp315.com你会发现教程很多,我们随便点一个进去吧,就点JSP教程吧,里面还分了子类,这个不管我们就

自己做采集程序_小偷/采集

现在网上的采集程序很多,但是有时候你发现一个好的网站,想自己做个采集工具采集一些信息,就需要自己去写程序了,其实这样的采集程序并不难写,主要是去分析源网站的网页结构.首先去下载个XMLHTTP的类文件:<%Class xhttpprivate cset,sUrl,sErrorPrivate Sub Class_Initialize()'cset="UTF-8"cset="GB2312"sError=""end sub Private Sub

非常不错的flash采集程序测试通过_小偷/采集

复制代码 代码如下: <% '--------------------------------------------------------------  Dbname = "../data/flash.mdb"          '更改数据库文件位置,强烈建议更改为.asp的文件!  Set Conn = Server.CreateObject("ADODB.Connection")  Connstr = "Provider = Microsof

用xmlhttp编写web采集程序_小偷/采集

晰带语法着色的版本:http://gwx.showus.net/blog/article.asp?id=229 原创很辛苦,转载请注明原文链接:http://gwx.showus.net/blog/article.asp?id=229 web采集程序?网页抓取程序?小倫程序?不管怎么叫,这种程序应用倒是蛮广的.本文不讨论这种使用这种程序引起的版权或道德问题,只谈这种程序在ASP+VBScript环境下的实现 :-) 预备知识:除了一般的ASP+VBScript的知识外,你还需要了解xmlhttp