我正在使用Excel VBA从网页请求信息。我试图找出以下哪种方法在可靠性/性能方面更有效。
方法1:使用MSXML2.ServerXMLHTT并从服务器请求数据,如:
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://www.example.com/page"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
方法2使用IE导航到页面并通过获取特定div id的innerHTML来获取我需要的元素。像:
sURL = "http://www.example.com/page"
Set oBrowser = CreateObject("InternetExplorer.Application") 'New InternetExplorer
oBrowser.navigate sURL
With oBrowser
Do While .Busy Or .ReadyState <> 4: Loop
End With
Set HTMLDoc = oBrowser.Document
With HTMLDoc
divID = HTMLDoc.getElementById("myId").innerHTML
End With
oBrowser.Quit
我试图从此页面获取的数据是用户的完整名称,地址和注册日期(给定其用户名)。为此,我有一个PHP脚本。
如果用户没有安装IE,那么这两种方法中的哪一种会更快?(第一种方法是否有效)?