25
Aug.2007


作者:Aleaf       

<%
'***************************************
'     三个函数打造网页小偷服务器
'       ---- aleaf.com ----
'
'    url --要采集的网页
'    ptn --正则表达式,可控制采集指定内容
'***************************************
Response.Charset="gb2312"

Dim url,ptn
url=trim(request("url"))
ptn=trim(request("ptn"))
Response.Write GetContent(GetPage(url),ptn)

Function GetContent(txt,ptnStr)
    Dim regEx
    Set regEx = New RegExp  
    regEx.IgnoreCase = True 
    regEx.Global = True      
    regEx.Pattern ="[\s\S]+" 
    If ptnStr<>"" Then
        regEx.Pattern =ptnStr
    End if
    txt=replace(txt,vbCRLF,"")
    GetContent=regEx.Execute(txt)(0).value
End Function

Function GetPage(urlStr) 
    Dim HTTP_Obj
    On Error Resume Next
    Set HTTP_Obj = Server.CreateObject("MSXML2.XMLHTTP") 
    HTTP_Obj.Open "Get", urlStr, False, "", "" 
    HTTP_Obj.Send
    If HTTP_Obj.Readystate <> 4 Then
        Set HTTP_Obj = Nothing
        GetPage = "ERROR..."
        Exit Function
    End If
    GetPage = ResponseStrToStr(HTTP_Obj.ResponseBody)
    Set HTTP_Obj = Nothing
End Function

Function ResponseStrToStr(Body_Str)
    Dim StreamObj
    Set StreamObj = Server.CreateObject("Adodb.Stream")
    StreamObj.Type = 1
    StreamObj.Mode = 3
    StreamObj.Open
    StreamObj.Write Body_Str
    StreamObj.Position = 0
    StreamObj.Type = 2
    StreamObj.Charset = "GB2312"
    ResponseStrToStr = StreamObj.ReadText 
    StreamObj.Close
    Set StreamObj = Nothing
End Function
%>

推荐(0)
收藏

发表评论: