當前位置:首頁 » 操作系統 » 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控制項要快得多。

熱點內容
mp4反編譯軟體 發布:2024-10-25 16:47:33 瀏覽:998
哪個是提升電腦幀數的配置 發布:2024-10-25 16:43:45 瀏覽:95
以一種訪問許可權不允許的方式 發布:2024-10-25 16:38:32 瀏覽:404
嵌入式linux開發環境搭建 發布:2024-10-25 16:26:51 瀏覽:325
奧迪a4l乞丐版什麼配置 發布:2024-10-25 16:20:33 瀏覽:411
python讀取txt文件數據 發布:2024-10-25 16:07:36 瀏覽:23
獲取區域網伺服器的真實ip 發布:2024-10-25 16:01:36 瀏覽:28
多線程程序java 發布:2024-10-25 15:58:32 瀏覽:228
安卓最大的圖片是哪個 發布:2024-10-25 15:55:06 瀏覽:467
雲伺服器登錄小號 發布:2024-10-25 15:41:34 瀏覽:402