当前位置:首页 » 操作系统 » vbwebbrowser获取网页源码

vbwebbrowser获取网页源码

发布时间: 2022-05-21 03:11:40

Ⅰ vb 快速的取得网页源码和提取其中内容

如下函数可以实现你要的功能:
Function TestRegExp(ByVal myString$, ByVal myPattern$, Optional myMark$ = "gimt", Optional myRepString$)
If myString = "" Or myPattern = "" Then
TestRegExp = ""
Debug.Print "数据不能为空"
Exit Function
End If
'Create objects.
Dim objRegExp As RegExp
Dim objMatch As Match
Dim colMatches As MatchCollection
Dim RetStr As String

Set objRegExp = New RegExp
' 正则式
objRegExp.Pattern = myPattern
'IIf(InStr(myPattern, "s") <> 0, "", myPattern)

' 是否区分大小写
objRegExp.IgnoreCase = IIf(InStr(LCase$(myMark), "i") > 0, True, False)

' 是否全局
objRegExp.Global = IIf(InStr(LCase$(myMark), "g") > 0, True, False)

' 是否换行
objRegExp.MultiLine = IIf(InStr(LCase$(myMark), "m") > 0, True, False)
If objRegExp.Test(myString) Then
If InStr(myMark, "r") > 0 Then
Debug.Print "正在替换"
RetStr = objRegExp.Replace(myString, myRepString)
Debug.Print IIf(RetStr <> "", "替换结果" & Left(RetStr, 10), "没搜索到可替换字符")
Else
Debug.Print "正在搜索"
Set colMatches = objRegExp.Execute(myString) ' Execute search.
'MsgBox colMatches.Count
For Each objMatch In colMatches ' Iterate Matches collection.
'RetStr = RetStr & objMatch.FirstIndex
RetStr = RetStr & objMatch.Value & vbCrLf
Next
Debug.Print IIf(RetStr <> "", "搜索结果" & Left(RetStr, 10), "没搜索到匹配结果")
End If
Else
RetStr = ""
Debug.Print "没找到任何匹配结果,请检查正则式的是否正确"
End If
TestRegExp = RetStr
End Function

Ⅱ VB:如何通过VB获取某个网站的所有页面源代码

两种实现方式:
1、先用WebBrowser控件、iNet控件或xmlhttp组件获取网站首页代码(这个网上有一大堆介绍,就不啰嗦了),然后分析代码,找出其中的超链接,然后再逐个获取其页面代码,这里要注意的是,要区分外链和内链,外链就不要去获取代码了(否则的话如果网站上有个网络的链接,那么你的程序就要去获取网络的页面了);另外还要控制获取的层数(比如说一级子页面是第二层,二级子页面是第三层),否则的话遇到大型网站你的程序很可能进入死循环。
2、利用浏览器的缓存来获取,主要是IE的缓存。windows系统有专门的对IE缓存进行读写操作的API函数。要想获取某个网站的源码,可以用IE打开这个网站,然后把里面的链接都手工点击一遍,使页面代码能被IE自动放入缓存文件夹中即可。当然,如果网站比较大,这个过程可能会比较繁复。然后再通过程序遍历IE的整个缓存系统,把与该网站相关的所有资源都提取出来。通过这种方法,不但可以提取HTML代码,还有js代码、css代码,以及页面上的所有图片、动画、视频等资源。我个人比较喜欢这种方法。

Ⅲ 如何用vb得到网页的源代码

1 先加载网页:
Private Sub Form_Load()
WebBrowser1.Navigate "http://..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

Ⅳ VB WebBrowser 获取网页内容~

private
sub
command1_click()
set
vdocs
=
webbrowser1.document.getelementsbytagname("ul")
text1.text
=
vdocs(32).innertext
end
sub
不过,你既然都打开网页了,已经看到了,还提取它干什么?
如果你是想用软件自动提取这个信息,到其它地方用。那就不要用webbrowser,这个太慢。直接用
inet控件,或者用xmlhttp等获取源码再取信息。

Ⅳ VB如何获取webbrowser源码指定文本

第一个红框的文本:
WebBrowser1.Document.getElementById("list_uin").getElementsByTagName("label")(0).innerText

第二个红框的文本:
WebBrowser1.Document.getElementById("list_uin").getElementsByTagName("label")(1).innerText

Ⅵ 用vb获取任一网页源代码,要完整的!!!,可以用webbrowser控件

'你把下面的代码保存为Form1.frm,然后双击打开该文件,运行后按提示即可看到结果。
'呵呵,够详细了,再不会我也没办法了。

'====文件Form1.frm====

VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5265
ClientLeft = 60
ClientTop = 450
ClientWidth = 9000
LinkTopic = "Form1"
ScaleHeight = 5265
ScaleWidth = 9000
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text2
Height = 3735
Left = 120
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 2
Top = 480
Width = 8655
End
Begin VB.TextBox Text1
Height = 270
Left = 2040
TabIndex = 1
Text = "我的家"
Top = 120
Width = 4095
End
Begin VB.CommandButton Command1
Caption = "获取HTML源码"
Height = 615
Left = 3480
TabIndex = 0
Top = 4440
Width = 1575
End
Begin VB.Label Label2
Caption = "注意:获取源码之前必须先用IE打开网址,然后输入窗口标题关键字。如www.51.com的标题关键字是:我的家"
Height = 615
Left = 240
TabIndex = 4
Top = 4440
Width = 3135
End
Begin VB.Label Label1
Caption = "请输入IE窗口标题:"
Height = 255
Left = 120
TabIndex = 3
Top = 120
Width = 1815
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Function GetIeHtml(IeTitle As String) As String
Dim oShellApp: Set oShellApp = CreateObject("Shell.Application")
Dim oShellAppWindows: Set oShellAppWindows = oShellApp.Windows
Dim owin

'获取弹出的IE窗口
For Each owin In oShellAppWindows '获取弹出的IE窗口
If LCase(TypeName(owin.Document)) = "htmldocument" And _
InStr(1, owin.LocationName, IeTitle, vbTextCompare) > 0 Then '如果找到符合条件的IE窗口
GetIeHtml = owin.Document.activeElement.Document.documentElement.innerHTML '此句可获得完整html代码
GoTo Mend '退出
End If
Next

Mend:
Set oShellAppWindows = Nothing
Set oShellApp = Nothing
Set owin = Nothing

End Function

Private Sub Command1_Click()
Dim S As String
S = GetIeHtml(Text1.Text) '表示获得标题含有"我的家"的html代码
Text2.Text = S
End Sub

Private Sub Form_Load()
'Shell "explorer.exe ""http://www.51.com/""", vbNormalNoFocus
End Sub

Ⅶ 如何用vb.net获得网页的源代码

Dim url As String=" 网址"

Dim httpReq As System.Net.HttpWebRequest

Dim httpResp As System.Net.HttpWebResponse

Dim httpURL As New System.Uri(url)

httpReq = CType(WebRequest.Create(httpURL), HttpWebRequest)

httpReq.Method = "GET"

httpResp = CType(httpReq.GetResponse(), HttpWebResponse)

httpReq.KeepAlive = False ' 获取或设置一个值,该值指示是否与
Internet资源建立持久连接。

Dim reader As StreamReader = _

New StreamReader(httpResp.GetResponseStream,

System.Text.Encoding.GetEncoding(-0))

Dim respHTML As String = reader.ReadToEnd() 'respHTML就是网页源代码

Ⅷ vb 不用webbrowser 如何读取网页元素

还可以使用xmlhttp,也就是类似于JavaScript的Ajax的方式:
Set xmlhttp = CreateObject("MicroSoft.XMLHTTP") '这三行是获取网页源码

xmlhttp.Open "get", "网址写在这", False
xmlhttp.Send
Set html = CreateObject("htmlfile") '这两行是把网页源码重新解析为html文档
html.Write xmlhttp.responseText
Set Acollection = html.All.tags("input") '这是获取html中的所有input元素
……后面的代码就跟你的完全一样了
这种方式,只会下载网页的html代码,不会下载网页中包含的图片、脚本、样式表等数据,而且不需要渲染和显示出网页内容,所以速度比用WebBrowser控件要快得多。

热点内容
clinuxsqlite 发布:2024-10-25 19:30:02 浏览:679
值班发布源码 发布:2024-10-25 19:23:50 浏览:369
php实现注册登陆 发布:2024-10-25 19:22:56 浏览:545
android开发库 发布:2024-10-25 18:50:28 浏览:231
优酷路由宝存储 发布:2024-10-25 18:41:37 浏览:934
pythoncmdb 发布:2024-10-25 18:41:29 浏览:200
安卓触控屏不灵怎么办 发布:2024-10-25 17:31:22 浏览:872
中信银行信用卡激活后密码是多少 发布:2024-10-25 17:28:31 浏览:508
cocos2d30编译 发布:2024-10-25 17:20:51 浏览:996
app直播平台源码 发布:2024-10-25 17:19:57 浏览:225