热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->asp 
站内搜索:
网站静态页面生成及网站数据采集的攻防(2)
作者:翟振恺 来源:不详 整理日期:2007-4-18

  先说一下采集原理:

  采集程序的主要步骤如下:

  一、获取被采集的页面的内容

  二、从获取代码中提取所有用的数据

  一、获取被采集的页面的内容

  目前所掌握的ASP常用获取被采集的页面的内容方法:

  1、用serverXMLHTTP组件获取数据

  -----------------翟振恺(小琦)

  创建对象

  Dim ObjXMLHTTP

  Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")

  请求文件,以异步形式

  ObjXMLHTTP.Open "GET",weburl,False

  ObjXMLHTTP.send

  While ObjXMLHTTP.readyState <> 4

  ObjXMLHTTP.waitForResponse 1000

  Wend

  得到结果

  GetBody=ObjXMLHTTP.responseBody

  释放对象

  Set ObjXMLHTTP=Nothing

  -----------------翟振恺(小琦)

  End Function

  调用方法:

  GetBody(文件的URLf地址)

  2、或XMLHTTP组件获取数据

  CODE:[Copy to clipboard]Function GetBody(weburl)

  -----------------翟振恺(小琦)

  创建对象

  Set Retrieval = CreateObject("Microsoft.XMLHTTP")

  With Retrieval

  .Open "Get", weburl, False, "", ""

  .Send

  GetBody = .ResponseBody

  End With

  释放对象

  Set Retrieval = Nothing

  -----------------翟振恺(小琦)

  End Function

  调用方法:

  GetBody(文件的URLf地址)

  这样获取的数据内容还需要进行编码转换才可以使用

  CODE:[Copy to clipboard]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

  调用方法:BytesToBstr(要转换的数据,编码)编码常用为GB2312和UTF-8

  二、从获取代码中提取所有用的数据

  目前掌握的方法有:

  1、用ASP内置的MID函数截取需要的数据

  CODE:[Copy to clipboard]Function body(wstr,start,over)

  -----------------翟振恺(小琦)

  start=Newstring(wstr,start)

  设置需要处理的数据的唯一的开始标记

  over=Newstring(wstr,over)

[1]  [2]  [3]  [4]  
相关文章