1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<% hehe = Hello("http://mmsg.qq.com/cgi-bin/gddylist?Type=13&Sort=1&Page=3", "<html>", "</html>", ".*(<td width=""35%"" bgcolor=""#[dABCDE]{6}"">(.*)</td>)[. ]*", "<font style=""font-size:9pt;"" color=blue>$2</font><br>") response.Write hehe Function Hello(strUrl, strStart, strEnd, patrn, replStr) Str = GetBody(strUrl) Str = MyMid(Str, strStart, strEnd) Str = ReplaceTest(patrn, replStr, Str) Hello = Str End Function Function MyMid(Str, strstart, strend) If strstart = "" Then i = 0 Else i = InStr(Str, strstart) End If If strend = "" Then j = Len(Str) Else j = InStr(i, Str, strend) End If MyMid = Mid(Str, i, j - i + 1) End Function Function ReplaceTest(patrn, replStr, str1) Dim regEx, match, matches Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = True Set matches = regEx.Execute(str1) For Each match in matches ReplaceTest = ReplaceTest?Ex.Replace(Match.Value, replStr) Next End Function Function GetBody(Url) Set objXML = createObject("Microsoft.XMLHTTP") With objXML .Open "Get", Url, False, "", "" .SEnd GetBody = .ResponseBody End With GetBody = BytesToBstr(GetBody, "GB2312") Set objXML = Nothing End Function Function BytesToBstr(strBody, CodeBase) Set objStream = Server.createObject("Adodb.Stream") With objStream .Type = 1 .Mode = 3 .Open .Write strBody .Position = 0 .Type = 2 .Charset = CodeBase BytesToBstr = .ReadText .Close End With Set objStream = Nothing End Function %> |
1 |
其他调用示例: |
1 2 |
hehe = Hello("http://list.mp3.baidu.com/song/A.htm", "<table width=""90%"" border=""0"" align=""center"" cellpadding=""3"" cellspacing=""0"" bgcolor=""#f5f5f5"" >", "<DIV align=center>", ".*(<td width=""20%""><a href="".*.htm"" target=_blank>)(.*)(</a></td>)[. ]*", "<font style=""font-size:9pt;"" color=blue>$2</font><br>") |