vba 中怎么通过链接获取网页源码?
答案:1 悬赏:30 手机版
解决时间 2021-11-20 03:50
- 提问者网友:斑駁影
- 2021-11-19 03:34
vba 中怎么通过链接获取网页源码?
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-11-19 04:56
两种方法,一是使用AJAX,二是开启IE进程,我推荐用方法一,我的例子代码如下:
Dim http
Set http = CreateObject("Microsoft.XMLHTTP")
http.Open "POST", "连接地址", False
http.send ""
If http.Status = 200 Then
selection.text=http.responseText
End If追问说下第二种方法吧 第一种在有登陆界面的网页行不通啊追答只要没有验证码,第一种方法都可以解决。
第二种方法我没有现成的代码,我都不用,我百度一下吧:
Sub test()
Set ie = CreateObject("InternetExplorer.Application") '设置变量
With ie '设置块
.Navigate ("需要打开的网页的网址") '打开网页
.Visible = True '是否显示ie窗口
While .readystate <> 4 '延迟等待页面加载完毕
DoEvents
Wend
For i = 22 To 49 Step 3 '取数循环
S = S & " " & .Document.all.tags("td")(i).innerTEXT '取数据到变量,熟悉HTML的DOM可以修改这个实现各种内容
Next i
End With '块结束
S = LTrim(S) '删除左边空格
Application.SendKeys "^{F4}" '发送按键关闭当前浏览器标签
MsgBox S '显示结果
Set ie = Nothing '释放内存
End Sub
Dim http
Set http = CreateObject("Microsoft.XMLHTTP")
http.Open "POST", "连接地址", False
http.send ""
If http.Status = 200 Then
selection.text=http.responseText
End If追问说下第二种方法吧 第一种在有登陆界面的网页行不通啊追答只要没有验证码,第一种方法都可以解决。
第二种方法我没有现成的代码,我都不用,我百度一下吧:
Sub test()
Set ie = CreateObject("InternetExplorer.Application") '设置变量
With ie '设置块
.Navigate ("需要打开的网页的网址") '打开网页
.Visible = True '是否显示ie窗口
While .readystate <> 4 '延迟等待页面加载完毕
DoEvents
Wend
For i = 22 To 49 Step 3 '取数循环
S = S & " " & .Document.all.tags("td")(i).innerTEXT '取数据到变量,熟悉HTML的DOM可以修改这个实现各种内容
Next i
End With '块结束
S = LTrim(S) '删除左边空格
Application.SendKeys "^{F4}" '发送按键关闭当前浏览器标签
MsgBox S '显示结果
Set ie = Nothing '释放内存
End Sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯