网络编程 
首页 > 网络编程 > 浏览文章

XMLHTTP抓取远程数据的后期处理

(编辑:jimmy 日期: 2024/10/8 浏览:3 次 )
<% 
hehe = Hello("http://mmsg.qq.com/cgi-bin/gddylist?Type=13&Sort=1&Page=3", "<html>", "</html>", ".*(<td width=""35%"" bgcolor=""#[\dABCDE]{6}"">(.*)</td>)[.\n]*", "<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&regEx.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 
%> 
其他调用示例: 
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>)[.\n]*", "<font style=""font-size:9pt;"" color=blue>$2</font><br>")
上一篇:用XMLHTTP很好的一个例子
下一篇:XMLHTTP批量抓取远程资料
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?