程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> asp抓取頁面的代碼

asp抓取頁面的代碼

編輯:關於ASP編程

     <% 

     

    if trim(request.form("url"))<>"" then 

     

    dim VBody:VBody=GetResStr(trim(request.form("url"))) 

     

    dim Res:Res=VBody 

     

    dim code:code=GetCode(VBody,"charset= {0,}([^ ]+) {0,}""") 

     

    end if 

     

    %> 

     

    <html> 

     

    <head> 

     

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 

     

    <title>抓取頁面</title> 

     

    </head> 

     

    <body style="font-size:12px;margin:50px 0 0 20px;"> 

     

    <form name="geturl" action="ss.asp" method="post"> 

     

    請輸入%20name=" type=text value="<%=trim(request.form(" P >>< <input > url?))%>? size="60" url?> 

     

    </form> 

     

    頁面編碼:<%=code%> <br /> 

     

    <textarea cols=150 rows=30><%=Res%></textarea> 

     

    </body> 

     

    </html> 

     

    <% 

     

    function GetResStr(URL) 

     

    dim ResBody,ResStr,PageCode 

     

    Set Http=server.createobject("msxml2.serverxmlhttp.3.0") 

     

    Http.setTimeouts 10000, 10000, 10000, 10000 

     

    Http.open "GET",URL,False 

     

    Http.Send() 

     

    If Http.Readystate =4 Then 

     

      If Http.status=200 Then 

     

        ResStr=http.responseText 

     

        ResBody=http.responseBody 

     

        PageCode=replace(GetCode(ResStr,"charset=([^""].*)"""),chr(13)&chr(10),"") 

     

        GetResStr=BytesToBstr(http.responseBody,trim(PageCode)) 

     

      End If 

     

    End If 

     

    End Function 

     

    '函數名:BytesToBstr 

     

    '作用:轉換二進制數據為字符 

     

    '參數:Body-二進制數據,Cset-文本編碼方式 

     

    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 

     

      

     

    '函數名:GetCode 

     

    '作用:轉換二進制為字符 

     

    '參數:str-待查詢字符串,regstr-正則表達式 

     

    Function GetCode(str,regstr) 

     

    Dim Reg 

     

    set Reg= new RegExp 

     

    Reg.IgnoreCase = True 

     

    Reg.MultiLine = True 

     

    Reg.Pattern =regstr 

     

    Set Cols = Reg.Execute(str) 

     

    str=Cols(0).SubMatches(0) 

     

    GetCode=str 

     

    end function 

     

    %> 

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved