VB6.0获取网页内容,不要用Webrowser控件
VB6.0怎样获取网页中的内容?不要用Webrowser控件(反应慢)网址:http://zx.500.com/zc/lsdz.php需获取的内容为:期号,场次,联赛类型...
VB6.0怎样获取网页中的内容?不要用Webrowser控件(反应慢)
网址:http://zx.500.com/zc/lsdz.php
需获取的内容为:期号,场次,联赛类型,开赛时间,对阵(含主队,比分,客队),平均赔率
获取后显示在MSHFlexGrid控件中。
要点:1.按下Command1按钮,自动减1,以更换不同期次;期号值要显示在Label1中,保存时需要用到。
2.对阵 要分三列显示,分别是“主队”,“比分”,“客队”
3.写出代码
经调试成功者加分!
附:部分网页源码(点击图片可放大)
期号部分:
需获取内容部分: 展开
网址:http://zx.500.com/zc/lsdz.php
需获取的内容为:期号,场次,联赛类型,开赛时间,对阵(含主队,比分,客队),平均赔率
获取后显示在MSHFlexGrid控件中。
要点:1.按下Command1按钮,自动减1,以更换不同期次;期号值要显示在Label1中,保存时需要用到。
2.对阵 要分三列显示,分别是“主队”,“比分”,“客队”
3.写出代码
经调试成功者加分!
附:部分网页源码(点击图片可放大)
期号部分:
需获取内容部分: 展开
1个回答
展开全部
'直接调用测试
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, match As Object
strData = getHtmlStr("http://zx.500.com/zc/lsdz.php")
Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = ">([^>]*?)</a></span><span class=""sp_bf"">([\d\:]*)</span><span>.*?>(.*?)</a></span><span class=""sp_sz"">"
Set matchs = reg.Execute(strData)
For Each match In matchs
'Debug.Print match.Value
Debug.Print match.SubMatches(0),match.SubMatches(1),match.SubMatches(2)
Next
End Sub
Private Function getHtmlStr(strUrl As String) As String
Dim XmlHttp As Object
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET", strUrl, False
XmlHttp.send
getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
更多追问追答
追答
多余的字符是因为网页源代码中的空格。 表示空格,你懂html就知道了。用replace替换掉再使用函数
'直接调用测试
Private Sub TestReg()
Dim strData As String
Dim reg As Object
Dim matchs As Object, match As Object
strData = getHtmlStr("
)
strData = replace(strData ," "," ")'<---将 替换为空格
Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = ">([^>]*?)</a></span><span class=""sp_bf"">([\d\:]*)</span><span>.*?>(.*?)</a></span><span class=""sp_sz"">"
Set matchs = reg.Execute(strData)
For Each match In matchs
'Debug.Print match.Value
Debug.Print match.SubMatches(0),match.SubMatches(1),match.SubMatches(2)
Next
End Sub
Private Function getHtmlStr(strUrl As String) As String
Dim XmlHttp As Object
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "GET", strUrl, False
XmlHttp.send
getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询