找到有VC的说明文章,里面有可以控制的各种属性,但是没找到有VB的,在VB里面可以控制吗?
因为我是在Access里面,运用VBA利用WebBrowser控件获取网页上的文本存入数据库,不需要下载嵌入元素图片、声音、FLASH等...为了加快收集的速度,所以很希望控制WebBrowser不下载嵌入元素。
由于是VBA所以只能从VB中寻求方法了...
望达人相助!
因为我是在Access里面,运用VBA利用WebBrowser控件获取网页上的文本存入数据库,不需要下载嵌入元素图片、声音、FLASH等...为了加快收集的速度,所以很希望控制WebBrowser不下载嵌入元素。
由于是VBA所以只能从VB中寻求方法了...
望达人相助!
解决方案 »
- vb6 怎么关闭自己调用shell启动的程序?
- Crystal Report 9.2格式化参数字段显示的问题
- 我已经在窗口中用MSHFlexGrid1显示出了一个表中的数据,我现在想通过表中的某个字段来决定MSHFlexGrid1中某行的颜色应该怎么才能实现,想
- VB程序打包后的问题
- 如果在VB类模块里的方法中加入MSHFlexGrid类型的参
- ToolBar中的ButtonMenu怎么能够点击Button时就能弹出来呢?
- 我用API接口ExtractIcon获得了一个icon句柄,可是如何把这个icon装入imageList控件呀?
- 为什么我的textbox在运行时光标老在文本前跳动?怎么使textbox在运行是的光标不显示?
- 怎样控制Msgbox出现的位置?
- 电子版的全国邮政编码查询系统,信息资料非常齐!谁要?
- VB如何取得本机IP。。。急。。
- 求:RDO的用法或简单源码,谢谢
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这样实现起来很快的。
说的够清楚了
主要讲利用mshtml的 IHTMLDocument2来获取网页上的各类对象,本文章提到 表单 表格对象==,其他类似,如还有问题请再提问谢谢
当然如果能用webbrowser来做最好,因为可以方便的处理和分析获得的网页元素,而用inet的话,恐怕只能借助于字符串处理函数了。
问题是:mshtml的IHTMLDocument2来获取网页上的各类对象时,它在html转入有效的Web拆取器之前会把html和嵌入内容都下载到本地。
谢谢happy_sea:
不知道Inet1能否实现自动点击已获取html里面的连接,使得内容获取得以继续。比如html内包含“下一页”的连接,那么它能够把这个连接交给下一个的循环将抓取进行到找不到“下一页”连接时结束。
先给你20分好吗?
参考文档
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/
关键问题是你必须先察看其中一页的html代码,看看“下一页”的链接形式是怎样的,在“<a href=....>下一页</a>”中有没有alt、target等其他的属性,然后根据具体情况写一个函数,从“<a href=....>下一页</a>”这一句中获取href=后面的url,然后继续用Inet1.Execute这个url。
无须循环,把这些放在Inet1_StateChanged事件中处理就行了。