找到有VC的说明文章,里面有可以控制的各种属性,但是没找到有VB的,在VB里面可以控制吗?
因为我是在Access里面,运用VBA利用WebBrowser控件获取网页上的文本存入数据库,不需要下载嵌入元素图片、声音、FLASH等...为了加快收集的速度,所以很希望控制WebBrowser不下载嵌入元素。
由于是VBA所以只能从VB中寻求方法了...
望达人相助!

解决方案 »

  1.   

    具体:Private Sub Form_Load()
        Inet1.Execute "你的网址"
    End SubPrivate Sub Inet1_StateChanged(ByVal State As Integer)
        Dim sTmp As String, sHtml As String
        If State = 12 Then
            Do
                DoEvents
                sTmp = Inet1.GetChunk(1024)
                If Len(sTmp) = 0 Then Exit Do
                sHtml = sHtml + sTmp
            Loop
            Text1.Text = sHtml
        End If
    End Sub这样实现起来很快的。
      

  2.   

    利用 Microsoft 的 HTML 分析器来获得 Web 站点的数据http://www.microsoft.com/china/msdn/Archives/workshop/scrape.asp
    说的够清楚了
    主要讲利用mshtml的 IHTMLDocument2来获取网页上的各类对象,本文章提到 表单 表格对象==,其他类似,如还有问题请再提问谢谢
      

  3.   

    楼上的并没有解决实际问题,就是如何让webbrowser控件不下载图片、flash、音视频等元素而单纯获取html代码。我认为换成inet控件来完成相同的功能,虽然不是唯一的方法,但也值得一试。
    当然如果能用webbrowser来做最好,因为可以方便的处理和分析获得的网页元素,而用inet的话,恐怕只能借助于字符串处理函数了。
      

  4.   

    谢谢ezlj
    问题是:mshtml的IHTMLDocument2来获取网页上的各类对象时,它在html转入有效的Web拆取器之前会把html和嵌入内容都下载到本地。
    谢谢happy_sea:
    不知道Inet1能否实现自动点击已获取html里面的连接,使得内容获取得以继续。比如html内包含“下一页”的连接,那么它能够把这个连接交给下一个的循环将抓取进行到找不到“下一页”连接时结束。
    先给你20分好吗?
      

  5.   

    Inet1无法直接实现这个功能,不过可以用字符串处理函数来分析获取的html内容,“下一页”的链接代码肯定是“<a href=url>下一页</a>”这种形式的,提取这个url应该不困难的。然后继续用Inet1.Execute "下一页的网址"就行了。
      

  6.   

    抱歉,VB中不能实现这样的功能。但是你可以用VC来实现,之后在VB中调用。
    参考文档
    Visual Basic: Using New XP Styles and Parsing HTML
    http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/dnaraskdr/html/askgui10232001.asp
    WBCustomizer.dll Implements IDocHostUIHandler for VB
    http://support.microsoft.com/kb/q183235/
      

  7.   

    因为你只是要获取网页文本,所运用我说的方法绝对可行。
    关键问题是你必须先察看其中一页的html代码,看看“下一页”的链接形式是怎样的,在“<a href=....>下一页</a>”中有没有alt、target等其他的属性,然后根据具体情况写一个函数,从“<a href=....>下一页</a>”这一句中获取href=后面的url,然后继续用Inet1.Execute这个url。
    无须循环,把这些放在Inet1_StateChanged事件中处理就行了。
      

  8.   

    不知其他朋友还有什么意见没,基本happy_sea(开心海) 和 jiangsheng(蒋晟.MSMVP2004Jan) 都讲得挺好了,准备结贴摊分了...
      

  9.   

    多谢诸位,happy_sea(开心海)  和  jiangsheng(蒋晟.MSMVP2004Jan)两位请接分:)
      

  10.   

    不要用Inet1  非常难控制