为了账号安全,请及时绑定邮箱和手机立即绑定

使用VBA进行Web抓取(当HTML <> DOM时)

使用VBA进行Web抓取(当HTML <> DOM时)

我在抓取该特定网页的数据时经历了可怕的时间...基本上,当我在浏览器中加载URL并手动点击F12时,但是在以编程方式尝试执行以下操作时,可以在“ DOM资源管理器”中看到所需的信息相同(请参阅下文)HTMLDoc不包含我在“ DOM资源管理器”中可以看到的相同信息...Public Sub testCode()    Dim IE As SHDocVw.InternetExplorer    Dim HTMLDoc As MSHTML.HTMLDocument    Set IE = New SHDocVw.InternetExplorer    With IE        .navigate "https://www.wunderground.com/cgi-bin/findweather/getForecast?query=EIDW"        While .Busy = True Or .ReadyState <> READYSTATE_COMPLETE: Wend        Set HTMLDoc = .Document    End WithEnd Sub有人可以帮我访问“ DOM资源管理器”中的信息吗?我知道HTML并不总是您在浏览器中看到的内容,而是创建在浏览器中可以看到的内容的说明,但是必须有一种从HTML以编程方式创建DOM的方法...另外,我相信我要获取的数据是由脚本或iFrame生成的,但是我一直无法生成我正在寻找的数据。更新请参见下面的DOM Explorer图片:
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

最终通过了所有测试,效果非常好,非常感谢您的帮助,但我确实做了几件事-1)调整了API URL,以仅请求我感兴趣的数据,并将单位更改为英语; 2)使用JSON解析器解决方案的过程中,我实际上使用了一系列拆分和循环来解析数据-这样做的一个原因是因为我很难遵循JSON解析代码,而且我不喜欢使用复制和粘贴的代码我不明白,但是我也发现它比使用Rage和Scripting Dictionary解析快60%。无论如何再次感谢!

查看完整回答
反对 回复 2019-10-22
  • 2 回答
  • 0 关注
  • 1422 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信