excel vba 网页数据抓取(Excel教程Excel函数Excel表格信息快速提取实例(33))
优采云 发布时间: 2021-09-24 15:30excel vba 网页数据抓取(Excel教程Excel函数Excel表格信息快速提取实例(33))
背景要求
先说一下问题的背景:
这个网站可以查看深圳各区的空气质量信息,每小时更新一次。
要求:快速提取并保存里面的表信息。
Excel可以使用data-from网站这个函数来实现简单的网络表格数据爬取,想必很多朋友应该都知道并使用过。
这个方法对于一些简单的网页还是很实用的。但是对于一些网页,比如pm25.in,上面的方法不是很方便,如下图:
直接选择表格上方的√,不能导入。
而且如果直接查看整个页面,会提取出很多除了表格之外的无用信息。
效果展示
所以,在这种情况下,可以借助vba灵活解决这个问题。
第一个效果:点击“更新”直接提取表格信息
然后点击“保存汇总”,将此时提取的信息保存到汇总表中,以备后续使用。
核心代码
整个过程并不难。抓取表格数据的核心功能代码如下,每行代码的含义都标在后面。
如果你想换到另一个城市,你只需要改变URL地址。
With Sheets(1).QueryTables.Add("URL;http://www.pm25.in/shenzhen", Range("A2")) '抓取网站网页地址
.RefreshStyle = xlOverwriteCells '覆盖模式
.WebFormatting = xlWebFormattingAll '包含全部格式
.WebSelectionType = xlSpecifiedTables '指定table模式
.WebTables = "1" '第1张table
.Refresh False
End With
后续的保存和汇总是一些常规的VBA代码。
需要注意的是,此代码仅适用于网页源代码中收录表格数据的网页。
如果您对本内容感兴趣,可以在公众号回复“网页表单”获取vba文件试用~~
您可能还想看:
VBA示例(35)-一键批量ppt转pdf
VBA示例(34)--快速匹配不同名称的数据
VBA示例(33)-一键提取word中的粗体文本
VBA示例(32)-批量替换隐藏的神秘字符
VBA 示例(31) - 自定义 VBA 代码的快捷键
VBA 示例(30)-为多个工作表创建目录和超链接