用HTML和VBA抓取数据

用HTML和VBA抓取数据,html,vba,Html,Vba,今天我试着偷懒,在搬家的时候比较一下供电商。 对于那些感兴趣的人,下面我将链接我感兴趣的代码 我已经设法通过每一个供应商获得了它的信息页面,但一旦我到了那里,事情就会变得很艰难。在信息页面上,优惠信息列在带有“card offer”类别的卡片上。 我设法检查了每张卡,但没有得到我想要的数据 下面是HTML代码的整理版本 伊达电气 预算:2208欧元/an 试试这个。它将获取您希望获取的数据: Sub Web_Data() Dim http As New XMLHTTP60, html

今天我试着偷懒,在搬家的时候比较一下供电商。 对于那些感兴趣的人,下面我将链接我感兴趣的代码

我已经设法通过每一个供应商获得了它的信息页面,但一旦我到了那里,事情就会变得很艰难。在信息页面上,优惠信息列在带有“card offer”类别的卡片上。 我设法检查了每张卡,但没有得到我想要的数据

下面是HTML代码的整理版本


伊达电气
预算:2208欧元/an

试试这个。它将获取您希望获取的数据:

Sub Web_Data()
    Dim http As New XMLHTTP60, html As New HTMLDocument
    Dim topic As HTMLHtmlElement

    With http
        .Open "GET", "https://comparateur.selectra.info/fournisseurs/alterna/electricite#offres", False
        .send
        html.body.innerHTML = .responseText
    End With

    For Each topic In html.getElementsByClassName("card card-offer")
        row = row + 1: Cells(row, 1) = topic.getElementsByClassName("offer-name")(0).innerText
        Cells(row, 2) = Split(topic.getElementsByClassName("offer-budget")(0).innerText, "Budget : ")(1)
    Next topic
End Sub
输出:

Idéa Elec   2208€/an 
Idéa Vert   2336€/an 
要添加到库中的引用:

1. Microsoft XML, v6.0
2. Microsoft HTML Object Library

非常感谢。您的代码本身可以工作,但在替换为my table时,它突然失败了。我意识到“'”字符不仅是一个有效的引用,而且应该加倍!你让我意识到了这一点,我也知道为什么我现在挠头了:)当然,你的代码比我的漂亮多了!