asp数据采集

简介:

asp数据采集
数据采集程序

' On Error Resume Next
Server.Scripttimeout = 300

' ---------------------------------------------------------------------
'
采集数据
Function  getHTTPData(url) 
    
dim  http 
    
set  http = Server.createobject( " Msxml2.XMLHTTP " )
    
if   instr (url, " http:// " ) = 0   then  url = " http:// " & url
    Http.open 
" GET " ,url, false  
    Http.send() 
    
if  Http.Status <> 200    then   exit   function  
    getHTTPData
= bytesToBSTR(Http.responseBody, " UTF-8 " )
    
set  http = nothing
    
if  err.number <> 0   then  err.Clear
    sCharset
= ""  
End function
' ---------------------------------------------------------------------        
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
' ---------------------------------------------------------------------    
'
服务器登录
Function  login(url) 
    
dim  http 
    
set  http = Server.createobject( " Msxml2.XMLHTTP " )
    
if   instr (url, " http:// " ) = 0   then  url = " http:// " & url
    Http.open 
" GET " ,url, false  
    Http.send() 
    
if  Http.Status <> 200   then   exit   function  
    
set  http = nothing
    
if  err.number <> 0   then  err.Clear
End function
' ---------------------------------------------------------------------
'
正则替换
Function  ReplaceText(fString,patrn, replStr)
    
Set  regEx  =   New  RegExp
    regEx.Pattern 
=  patrn
    regEx.IgnoreCase 
=   True
    regEx.Global 
=   True
    ReplaceText 
=  regEx.Replace(fString, replStr)
End Function
' ---------------------------------------------------------------------
'
去标签 包括内容
Function  ReplaceTag(str, tag)
    
Set  regEx  =   New  RegExp
    regEx.Pattern 
=   " < " & tag & " [^>]*?>.*?<\/ " & tag & " > "
    regEx.IgnoreCase 
=   True
    regEx.Global 
=   True
    ReplaceTag
= regEx.Replace(str,  "" )
End Function
' ---------------------------------------------------------------------    
'
去标签 不包括内容
Function  ReplaceTab(str, tag)
    
Set  regEx  =   New  RegExp
    regEx.Pattern 
=   " <\/? " & tag & " [^>]*> "
    regEx.IgnoreCase 
=   True
    regEx.Global 
=   True
    ReplaceTab
= regEx.Replace(str,  "" )
End Function
' ---------------------------------------------------------------------    
'
去标签属性 保留标签
Function  ReplaceinnerTag(str, tag)
    
Set  regEx  =   New  RegExp
    regEx.Pattern 
=   " (<\/? " & tag & " )[^>]*> "
    regEx.IgnoreCase 
=   True
    regEx.Global 
=   True
    ReplaceinnerTag
= regEx.Replace(str,  " $1> " )
End Function
' ---------------------------------------------------------------------    
'
按正则取数据
Function  getText(fString, patrn,n) 
    
dim  Matches, tStr
    tStr 
=  fString
    
Set  re  =   New  Regexp
    re.IgnoreCase 
=   True
    re.Global 
=   True
    re.Pattern 
=   patrn
    
set  Matches  =  re.Execute(tStr)
    
set  re  =   nothing  
    rStr 
=   ""
    
For   Each  Match in Matches
        rStr 
=  Match.SubMatches(n)
        
exit   for
    
Next
    getText 
=  rStr
End Function
' ---------------------------------------------------------------------
'
数据过滤
Function  Encode_text(str)
    
If   Isnull (str)  Then
        Encode_text 
=   ""
        
Exit   Function  
    
End   If
    str 
=  ReplaceText(str,  " <\/?br[^>]*> "  , vbCrlf )
    str 
=  ReplaceText(str,  " <\/?p[^>]*> "  , vbCrlf )
    str 
=  ReplaceTab(str,  " [a-zA-Z] " )
    str 
=  ReplaceText(str,  " \n\s*\r "  , Chr ( 10 ) & Chr ( 13 ))
    str 
=   Replace (str,  " & "  ,  " &amp; "  )
    str 
=   Replace (str,  " ; "  ,  " ; "  )
    str 
=   Replace (str,  " &amp; "  ,  " &amp; "  )
    str 
=   Replace (str, Chr ( 34 ),  " &quot; "  )
    str 
=   Replace (str,  " ' "  ,  " ' "  )
    str 
=   Replace (str,  " < "  ,  " &lt; "  )
    str 
=   Replace (str,  " > "  ,  " &gt; "  )
    str 
=   Replace (str,  " ( "  ,  " ( "  )
    str 
=   Replace (str,  " ) "  ,  " ) "  )
    str 
=   Replace (str,  " * "  ,  " * "  )
    str 
=   Replace (str,  " % "  ,  " % "  )
    str 
=   Replace (str,vbCrlf,  " <br/> "  )
    Encode_text 
=  str
End Function
' ---------------------------------------------------------------------
'
通过Matches取数据
dim  Matches
sub  setMatches(str,sRe)
    
Set  re  =   New  Regexp
    re.IgnoreCase 
=   True
    re.Global 
=   True
    re.Pattern 
=   sRe
    
set  Matches  =  re.Execute(str)
    
set  re = nothing  
end sub
' ---------------------------------------------------------------------

例子

' 例子
call  setMatches(textcontent, re)
For   Each  Match in Matches
    response.write Match.value
Next


本文转自博客园cloudgamer的博客,原文链接: asp数据采集,如需转载请自行联系原博主。
相关文章
|
5月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
108 1
|
6月前
|
开发框架 JSON 前端开发
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
|
8月前
|
SQL 开发框架 .NET
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
131 0
|
SQL 开发框架 监控
|
SQL 开发框架 .NET
在ASP.NET中使用ListView控件对数据进行显示、分页和排序
在ASP.NET中使用ListView控件对数据进行显示、分页和排序
在ASP.NET中使用ListView控件对数据进行显示、分页和排序
|
开发框架 .NET 数据库连接
在ASP.NET中分页显示DataList控件中的数据
在ASP.NET中分页显示DataList控件中的数据
在ASP.NET中分页显示DataList控件中的数据
|
SQL 存储 开发框架
ASP.NET 使用语言集成查询 LINQ进行数据访问
ASP.NET 使用语言集成查询 LINQ进行数据访问
ASP.NET 使用语言集成查询 LINQ进行数据访问
|
开发框架 JSON 前端开发
ASP.NET MVC5----常见的数据注解和验证
ASP.NET MVC5----常见的数据注解和验证
367 0
ASP.NET MVC5----常见的数据注解和验证
|
开发框架 JSON .NET
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(三)
上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
296 0
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(三)
|
开发框架 前端开发 .NET
ASP.NET MVC (二、数据传递)(8)
ASP.NET MVC (二、数据传递)(8)
133 0
ASP.NET MVC (二、数据传递)(8)