excel vba 网页数据抓取(我前一阵子用VBA的Get功能和Post功能抓取网页数据)
优采云 发布时间: 2021-09-13 11:15excel vba 网页数据抓取(我前一阵子用VBA的Get功能和Post功能抓取网页数据)
我不久前用 VBA 制作了两个工具。我使用了XMLHTTP的Get函数和Post函数来抓取网页数据,也使用了这个对象的Get函数通过HTTP接口获取数据。总结如下:
1、Get 函数抓取网页数据。参数名称和值放在链接中。方法如下:通过不同的变量值(sn和en)构造不同的链接,得到不同的数据。
hp1 = "http://api.map.baidu.com/?qt=nav&c=1&sn=2$$$$$$"
hp2 = "$$$$&sy=0&ie=utf-8&oue=1&fromproduct=jsapi&res=api&callback=BMap._rd._cbk92197"
http = hp1 & sn & "$$$$&en=2$$$$$$" & en & hp2
xh.Open "get", http
xh.send
rt = xh.responseText
通过不同的变量值(sn和en)构造不同的链接,得到不同的数据。
参见:【VBA研究】利用XMLHTTP的Get函数通过百度界面抓取城市之间的距离
2、Post函数抓取网页数据,链接参数名和值放在变量中,代码如下:通过发送不同的变量值(pdata)获取不同的数据。
http = "http://10.xxx.xxx.xxx/querypush-traln/qps/qpswaybilltraceinternal/queryTraceByTrace_no/"
pdata = "trace_no=1044905987232"
HttpReq.Open "Post", http, False
HttpReq.setRequestHeader "Content-Length", Len(pdata)
HttpReq.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded; charset=utf-8"
HttpReq.send pdata
Debug.Print HttpReq.responseText
通过发送不同的变量值(pdatan)来获取不同的数据。
参见:【VBA 研究】使用 XMLHTTP 的 Post 函数捕获数据