VB中获取网页源码三种方式webbrowser,innet,xmlhttp的比较

webbrowser:

示例:

For i = 0 To WebBrowser1.Document.All.length - 1 

If WebBrowser1.Document.All(i).tagName = "HTML" Then

strContent = strContent & WebBrowser1.Document.All(i).innerHTML

Exit For

End If

Next

inet: 

示例:

方式一

Inet1.OpenURL(strUrl,   icByteArray)

方式二

Inet1.Execute strUrl, "GET"

我个人比较倾向使用第二种,虽然麻烦点,但对中文字符的处理以及运行过程中出现的错误都比较容易控制, 

xmlhttp:

示例:

Set xmlobject = CreateObject("Microsoft.XMLHTTP") 

xmlobject.Open "GET", strURL, False

xmlobject.Send

If xmlobject.readyState = 4 Then

strHTML = xmlobject.Responsetext

End If

方法大概就上面这些了。还有一些不经常用的就不罗列出来,比较看这3种,webbrowser要通过第2对象才能获取网页源码,假如远程文件很大,document对象在获取tagname的时候毕竟要费不少时间。innet的execute读一下具体获取方法的代码,里面用到了do..loop循环,在时间上必定影响整个程序的运行。下面看看我最喜欢用的xmlhttp,只需要短短的6行,就可以完成上面2个控件那么多语句,多事件配合才能完成的工作。这里不能搭建环境同时测试3个控件运行的效率,但我相信xmlhttp是最出色,最有效的方法。

link

评论

Popular Posts

当面试的时候被问“你期望的薪资是多少”的时候,应该怎么回答啊?

随身WiFi折腾指南: 解锁、刷机与DIY

使用 Nginx 状态码 444 提升 HTTPS 服务安全性,屏蔽 HTTP 497 访问提示

为什么你睡了11个小时仍然觉得疲累?

《Chrno Crusade》圣枪修女

《钢铁是怎样炼成的》奥斯特洛夫斯基

起动战士XP(Ultimate Knight Windom XP) 2.008 简体中文版

WinRAR 7.13 官方简体中文无广告版

使用Kiss Translator油猴脚本实现自然口语化网页翻译

常用的国内外延迟测速链接(generate_204)