VB如何获取网页的内容

先用个WebBrowser获得网页内容,然后分析网页中的数据,找到指定关键字。比如www.ip138.com首页上有:您的IP地址是:[XXX.XXX.XXX.XXX]。我想把”您的IP地址是:[” 和“ ]” 去掉,IP在text1中显示出来,怎么实现?

注:最好不要用网页源码分析的方法

相关代码如下:

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取得的值就是我们要的结果。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-28
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本回答被提问者和网友采纳

VB如何提取网页内容
1、现将网页另存到本地磁盘,假设文件名为XXX.HTM;2、用VB读取存好的XXX.HTM文件的全部内容到一个变量或文本框;3、用搜索函数InStr()和取字串的函数Mid()来抽取出介于“>”和“<”之间的文本,再将其放入另一个文本框,就是你想要的东西。参考资料:http:\/\/zhidao.baidu.com\/question\/8739355...

VB获取网页特定内容
用WebBrowser控件 你把HTML代码保存成文件,然后 用webbrowser.navigate FileName 然后那个控件就能看到网页了 部件-microsoft internet Controls

VB如何获取网页的内容
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 '获取当前...

如何从VB的WebBrowser控件中获取网页文字
Function HtmlStr$(Url$) '提取网页源码函数 Dim XmlHttp Set XmlHttp = CreateObject("Microsoft.XMLHTTP") XmlHttp.Open "GET", Url, False XmlHttp.send If XmlHttp.ReadyState = 4 Then HtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode) Set XmlHttp = NothingEnd FunctionPrivate Sub ...

VB获取网页部分代码
set i =object.GetElementsByTagname("ul").item(0).GetElementsByTagname("li")dim sfor each s in idebug.print s.innerhtmlnext object 是htmlDocument 对象 GetElementsByTagname("ul") 获取ul标签集合 GetElementsByTagname("ul").item(0) 集合中的第一个元素 ... item(0).GetEleme...

VB获得指定网页中的部分内容
首先要在窗体中添加webbrowser控件,我在这儿将这个控件命名为web1,你要设置,网页必须在该控件中打开。。其次再添加一个按钮和文本框。然后为按钮添加如下代码:Set oDoc = Web1.Document Set oTxtRgn = oDoc.selection.createRange txtwyxs.Text = oTxtRgn.Text 在程序运行过程中只要你在Web中...

VB 不加载控件,读取网页数据的方法
'获取源码过程,调用 GetText(网址即可),给分吧 Function GetText(ByVal url) As String Dim obj Set obj = CreateObject("Microsoft.XMLHTTP")obj.Open "GET", url, False obj.Send GetText = StrConv(obj.responseBody, vbUnicode)'假如获取的网页源码中的汉字为乱码的话用下面这个 'GetText =...

vb 不用webbrowser 如何读取网页元素?
xmlhttp.responseText Set Acollection = html.All.tags("input") '这是获取html中的所有input元素 ……后面的代码就跟你的完全一样了 这种方式,只会下载网页的html代码,不会下载网页中包含的图片、脚本、样式表等数据,而且不需要渲染和显示出网页内容,所以速度比用WebBrowser控件要快得多。

vb如何截取网页字符串
34) + "1.0" + Chr(34) + " ?>" + vbCrLf + xml.responseText End If Call xml.abort Set xml = Nothing html就是得到的百度的网页内容,再用instr和mid之类的函数提取你要的那句话就好了 其中你可以使用把网页用DOMDocument加载成XML,然后用它封装的方法找到某个标签,这样更方便些…...

如何用VB提取网页中的信息
Function GetByDiv(ByVal code As String, ByVal divBegin As String, divEnd As String) '获取分隔符所夹的内容[完成,通过测试]Dim lgStart As Long Dim lens As Long Dim lgEnd As Long lens = Len(divBegin)lgStart = InStr(1, code, divBegin) + CLng(lens)lgEnd = InStr(lg...

相似回答