用vb webbrowser获取带框架网页的全部源代码,指令如下:
WebBrowser1.Document.frames(0).Document.documentElement.outerHTML
遍历框架就可以得到所有的(WebBrowser1.Document.frames(0).count框架个数)。
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
先引用正则库,然后编写如下代码,其中html的值替换为你问题中的html源码。
Private Sub Form_Load()
Dim html As String
html = "<li><em>经验值</em>28733</li><li><em>金币数</em>2300</li>"
ExpeValue = FindFirstGroup("<em>经验值</em>(\d+)</li>", html)
CoinValue = FindFirstGroup("<em>金币数</em>(\d+)</li>", html)
MsgBox "经验值为" &ExpeValue
MsgBox "金币值为" &CoinValue
End Sub
Private Function FindFirstGroup(pattern As String, src As String) As String
Dim re As RegExp
Set re = New RegExp
With re
.pattern = pattern
Set Matches = .Execute(src)
If Matches.Count = 0 Then
FindFirstGroup = ""
Else
FindFirstGroup = Matches(0).SubMatches(0)
End If
End With
End Function
1 先加载网页:Private Sub Form_Load()
WebBrowser1.Navigate "http://zhidao.baidu.com/question/123877723.html"
End Sub
2 加载完成后取字符串到文本框:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim doc As Object, objhtml As Object
Dim strhtml As String
On Error GoTo errorsub
Me.Caption = WebBrowser1.LocationName &"加载完成"
If MaxWebNum <= 0 Then
Set doc = WebBrowser1.Document
Set objhtml = doc.body.createtextrange()
If Not IsNull(objhtml) Then
strhtml = WebBrowser1.Document.body.innertext
Text1.Text = strhtml
End If
End If
Exit Sub
errorsub:
Text1.Text = "错误!!!"
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)