[转载]关于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是最出色,最有效的方法。 
 

posted @   jetz  阅读(1557)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示