vbnet获取网页源码
① vb.net中如何利用api函数获取网页源代码
Dim MyClient As WebClient = New WebClient
Dim MyReader As New System.IO.StreamReader(MyClient.OpenRead(url), System.Text.Encoding.Default) '定义新的文件流并读取网页文件数据,url表示需要打开的网页地址
Dim longTxt As String = MyReader.ReadToEnd 'longtxt存储了网页的源码
MyReader.Close()
② VB.NET 不使用控件获取某网页源代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyClient As Net.WebClient = New Net.WebClient
Dim MyReader As New System.IO.StreamReader(MyClient.OpenRead("http://wap..com"), System.Text.Encoding.Default)
Dim MyWebCode As String = MyReader.ReadToEnd
Me.RichTextBox1.Text = MyWebCode
MyReader.Close()
End Sub
③ VB:如何通过VB获取某个网站的所有页面源代码
两种实现方式:
1、先用WebBrowser控件、iNet控件或xmlhttp组件获取网站首页代码(这个网上有一大堆介绍,就不啰嗦了),然后分析代码,找出其中的超链接,然后再逐个获取其页面代码,这里要注意的是,要区分外链和内链,外链就不要去获取代码了(否则的话如果网站上有个网络的链接,那么你的程序就要去获取网络的页面了);另外还要控制获取的层数(比如说一级子页面是第二层,二级子页面是第三层),否则的话遇到大型网站你的程序很可能进入死循环。
2、利用浏览器的缓存来获取,主要是IE的缓存。windows系统有专门的对IE缓存进行读写操作的API函数。要想获取某个网站的源码,可以用IE打开这个网站,然后把里面的链接都手工点击一遍,使页面代码能被IE自动放入缓存文件夹中即可。当然,如果网站比较大,这个过程可能会比较繁复。然后再通过程序遍历IE的整个缓存系统,把与该网站相关的所有资源都提取出来。通过这种方法,不但可以提取HTML代码,还有js代码、css代码,以及页面上的所有图片、动画、视频等资源。我个人比较喜欢这种方法。
④ VB.NET如何使用正则表达式读取网页源码中的指定内容
<divclass="cont">[sS]*?href=["']?([^"']*)["']?[sS]*?title=["']?([^"]*)["']?
⑤ 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获取网页源码
使用Inet控件获取网页源码。
Internet Transfer 控件实现了两种广泛使用的 Internet 协议: 超文本传送协议(HyperText Transfer
Protocol)(HTTP) 和文件传送协议(File Transfer Protocol) (FTP)。使用 Internet Transfer
控件可以通过 OpenURL 或 Execute 方法连接到任何使用这两个协议的站点并检索文件。
PrivateSubCommand1_Click()
DimstrhtmlAsString
DimSTRURLAsString
STRURL="http://www..com"
strhtml=Inet1.OpenURL(STRURL)
Text1=strhtml
EndSub
⑦ 如何抓取完全展开后的网页源代码 VB.NET
如果是不需要加载的网页,直接读HTML即可;如果有加载发生,可能需要模拟一下ajax。提供一下示例网页?
⑧ 如何用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.net获取网页源代码
使用webbrowser控件来加载网页,然后再
Private
Sub
WebBrowser
1_DocumentCompleted下通过使用WebBrowser1.Document.Body.
InnerHtml
来获取网页的源代码,或使用
WebBrowser1.Document.Body.InnerText来获取网页中的文本。之后可以通过字符串控制指令或者
正则表达式
来精确获取到你所需的数据。