vba 网页数据抓取(我学习网抓的过程,以前完全不了解网抓技术)

优采云 发布时间: 2022-03-06 11:01

  vba 网页数据抓取(我学习网抓的过程,以前完全不了解网抓技术)

  “来源:|米宏办公室ID:mihoffice” 我的目标:让中国大学生在走出校门的那一刻,就已经掌握了这些办公技能,让职场人士高效利用办公服务。

  支持我,为自己加油!

  怎么说呢,如果能掌握VBA的精髓,学起来也没那么复杂。

  跟大家分享一下学习网页抓取的过程。之前对VBA网页抓取技术一窍不通,今天抽空研究了一下。虽然还有很多不明白的地方,但我大概知道如何进一步学习了。

  之前写过一篇文章文章,是PowerQuery技术抓取的网页数据。你可以阅读它:“网站将多页数据导入Excel,太棒了!

  ”今天我们用VBA代码来抓取以下网页中的数据:很多人看到看不懂的代码就会一头雾水。其实只要仔细分析一下,你就会觉得没那么复杂,只要你知道VBA,本质就是用代码来操作对象。你永远学不会对象,所以遇到不熟悉的对象也不用害怕,套路大同小异!

  一开始在一个网站上看了一篇关于网络爬虫的文章文章:最终代码如下: 然后文章说可以上传到网站@ > 数据被抓到了,搞得我一头雾水。乍一看,文章 并不完整。后来找到了原链接,是老外写的文章,但也是不完整的。 .

  但是上面的文章让我明白了,其实网页抓取使用了两个对象:Microsoft HTML Object Library和Microsoft Internet Controls,就像当时学习字典一样,如果你不想创建对象直接用代码,那么在声明对象变量之前应该先绑定两个对象,这就是所谓的早期引用。

  我从上面代码得到的信息是:首先根据URL获取网页文档,文档收录很多内容,文档是一个对象,可以使用getElementsByTagName()函数提取这个对象的表,提取出来的表也是一个对象,其他的不清楚。

  首先根据URL获取web文档doc,然后使用doc.getElementsByTagName("table")获取doc中的表格。里面不一定只有一个表,所以用索引来指定是哪张表,表收录行,每行收录单元格,循环遍历表中每一行的每个单元格,单元格的innerText属性为单元格中的值,类似于 Excel 中单元格的 Value 属性。

  于是根据猫和虎,我处理了如下代码: 测试完全正确: 然后看到黑图中的代码使用了后期绑定,于是学习了后期绑定的写法,改了代码:测试也很完美。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线