不用WEBBROWSER,如何只获取网页内容?

时间:2022-11-26 11:58:06
我要的内容是跟webbrowser.document.documentelement.outerText一样的内容,不包含代码,但因为webbrowser不用控制,而且比较慢,我想用其他方式获取,可以吗?请给代码,谢谢!

12 个解决方案

#1


网上的例子太多了,去找找吧。

#2


找不到啊.全部都是列代码的,我要的不是代码,即没有"<>"标签的那种啊.

#3


用winsock获取,自己过滤<>.

#4


可以说很难啊 winsock什么的只是静态的 inet、xmlhttp之流的都只是静态的

#5


引用 3 楼  的回复:
用winsock获取,自己过滤<>.
这个应该快一点儿,过滤时若要求多一点儿或条件多一点儿的话用就要使用正则了

#6


“webbrowser不用控制”不知啥意思。
搜索下mshtml取网页的资料,看是不是你要的那类。

#7


自己写个HTTP客户端程序,这里有源码,解压后找WebClnt,下载地址:http://download.csdn.net/detail/geoff08zhang/4571358

#8


可以联系我们

#9


要想和webbrowser一样还是挺复杂的,因为页面有个js,有时网页打开后会有一系列的js事件触发,而导致你用webbrowser.document.documentelement.outerText和直接根据网址下载页面源代码的截然不同。

#10


用vb自带的INET控件获取 很方便

#11


使用XMLHTTP组件最简单,代码如下:

Sub main()
    Dim xmlHttp As Object
    
    Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
    xmlHttp.open "GET", "http://www.baidu.com", False
    xmlHttp.send
    If xmlHttp.readyState = 4 And xmlHttp.Status = 200 Then
        Debug.Print xmlHttp.responseText
    End If
End Sub

#12


Dim strHtml As String = Inet1.OpenURL("http://www.baidu.com", 0)
引用 Micosoft Internet Transfer Control
'去除html
'--------------------------------------------------------------------------------------------------
Public Function NoHtml(ByVal Str As String) As String
    Dim Reg As RegExp
    Set Reg = New RegExp
    Reg.IgnoreCase = True
    Reg.Global = True
    Reg.Pattern = "(\<.[^\<]*\>)"
    Str = Reg.Replace(Str, " ")
    Reg.Pattern = "(\<\/[^\<]*\>)"
    Str = Reg.Replace(Str, " ")
    NoHtml = Str
    Set Reg = Nothing
End Function

#1


网上的例子太多了,去找找吧。

#2


找不到啊.全部都是列代码的,我要的不是代码,即没有"<>"标签的那种啊.

#3


用winsock获取,自己过滤<>.

#4


可以说很难啊 winsock什么的只是静态的 inet、xmlhttp之流的都只是静态的

#5


引用 3 楼  的回复:
用winsock获取,自己过滤<>.
这个应该快一点儿,过滤时若要求多一点儿或条件多一点儿的话用就要使用正则了

#6


“webbrowser不用控制”不知啥意思。
搜索下mshtml取网页的资料,看是不是你要的那类。

#7


自己写个HTTP客户端程序,这里有源码,解压后找WebClnt,下载地址:http://download.csdn.net/detail/geoff08zhang/4571358

#8


可以联系我们

#9


要想和webbrowser一样还是挺复杂的,因为页面有个js,有时网页打开后会有一系列的js事件触发,而导致你用webbrowser.document.documentelement.outerText和直接根据网址下载页面源代码的截然不同。

#10


用vb自带的INET控件获取 很方便

#11


使用XMLHTTP组件最简单,代码如下:

Sub main()
    Dim xmlHttp As Object
    
    Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
    xmlHttp.open "GET", "http://www.baidu.com", False
    xmlHttp.send
    If xmlHttp.readyState = 4 And xmlHttp.Status = 200 Then
        Debug.Print xmlHttp.responseText
    End If
End Sub

#12


Dim strHtml As String = Inet1.OpenURL("http://www.baidu.com", 0)
引用 Micosoft Internet Transfer Control
'去除html
'--------------------------------------------------------------------------------------------------
Public Function NoHtml(ByVal Str As String) As String
    Dim Reg As RegExp
    Set Reg = New RegExp
    Reg.IgnoreCase = True
    Reg.Global = True
    Reg.Pattern = "(\<.[^\<]*\>)"
    Str = Reg.Replace(Str, " ")
    Reg.Pattern = "(\<\/[^\<]*\>)"
    Str = Reg.Replace(Str, " ")
    NoHtml = Str
    Set Reg = Nothing
End Function