需要结合使用.getElementsByClass和.getElementsById来从网站上抓取数据

时间:2013-03-17 16:03:04

标签: excel-vba web web-scraping scrape vba

我正在使用VBA编写一个简单的抓取工具。我发现我要查找的数据对应于节点<h6 class="country-name" id="Australia">

我知道如果我想从中选择数据,我们说<div class="section-country">,我应该在我的VBA宏中使用.getElementsByClassName("section-country")

在节点中存在类 id时,我应该在我的VBA宏中插入哪个命令来抓取数据?

非常感谢, Avitus

编辑:写.getElementsByClassName(“country-name”)。getElementsById(“Australia”)给我一个错误。为什么呢?

2 个答案:

答案 0 :(得分:1)

getElementsByID(复数)不存在 - 应该只有一个具有给定ID的项目。因此,使用确实存在的getElementByID(单数)。如果碰巧有多个具有相同ID的元素,则此函数将返回第一个元素。

正如其他人所说,按ID选择听起来比按类选择

更合适

答案 1 :(得分:0)

必须有像getelementbyxpath这样的方法,你可以使用这个xpath“// div [@ class ='country-name'和@id ='Australia']”

例如:getElementsByXpath(“// div [@ class ='country-name'和@id ='Australia']”)

在此处阅读更多how to set up a crawler for web scraping