VB如何获取网页的内容
先用个WebBrowser获得网页内容,然后分析网页中的数据,找到指定关键字。比如www.ip138.com首页上有:您的IP地址是:[XXX.XXX.XXX.XXX]。...
先用个WebBrowser获得网页内容,然后分析网页中的数据,找到指定关键字。比如www.ip138.com首页上有:您的IP地址是:[XXX.XXX.XXX.XXX]。我想把”您的IP地址是:[” 和“ ]” 去掉,IP在text1中显示出来,怎么实现?
注:最好不要用网页源码分析的方法 展开
注:最好不要用网页源码分析的方法 展开
2个回答
2015-11-10 · 知道合伙人软件行家
yfcp
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1748
获赞数:5543
有多年网站建设相关工作经验。熟悉ASP、ASP.net、VB、JavaScript、HTML等语言和CSS、Ajax等相关技术。
向TA提问 私信TA
关注
展开全部
相关代码如下:
1、相关代码如下:
Public Function getHtmlStr(strUrl As String) '获取远程网页源码
On Error Resume Next
Dim XmlHttp As Object, stime, ntime
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.open "GET", strUrl, True
XmlHttp.send
stime = Now '获取当前时间
While XmlHttp.ReadyState <> 4
DoEvents
ntime = Now '获取循环时间
If DateDiff("s", stime, ntime) > 3 Then getHtmlStr = "": Exit Function
Wend
getHtmlStr = StrConv(XmlHttp.responseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
2、代码使用:在窗体代码相应位置写如下代码
dim a as string
a=getHtmlStr("要获取的网站网址url")
上面a取得的值就是我们要的结果。
展开全部
vb6,新建一个工程粘贴以下代码,马上运行,一切OK!!!!!!
Private Sub Form_Load()
a = getHTTPPage("http://ip138.com/ip2city.asp")
b = Split(a, "[")(1)
c = Split(b, "]")(0)
MsgBox c
End Sub
Function getHTTPPage(url)
On Error Resume Next
Dim http
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
getHTTPPage = http.Send()
'MsgBox http.ReadyState
If http.ReadyState <> 4 Then
MsgBox "无法连接服务器"
Exit Function
End If
getHTTPPage = BytesToBstr(http.responseBody, "GB2312")
Set http = Nothing
End Function
Function BytesToBstr(body, Cset)
Dim objstream
Set objstream = 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
Private Sub Form_Load()
a = getHTTPPage("http://ip138.com/ip2city.asp")
b = Split(a, "[")(1)
c = Split(b, "]")(0)
MsgBox c
End Sub
Function getHTTPPage(url)
On Error Resume Next
Dim http
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
getHTTPPage = http.Send()
'MsgBox http.ReadyState
If http.ReadyState <> 4 Then
MsgBox "无法连接服务器"
Exit Function
End If
getHTTPPage = BytesToBstr(http.responseBody, "GB2312")
Set http = Nothing
End Function
Function BytesToBstr(body, Cset)
Dim objstream
Set objstream = 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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询