Пытаюсь разобрать html с VBA - PullRequest
0 голосов
/ 20 февраля 2020

Я очень новичок в сообществе, приятно быть здесь.

Недавно я пытался научиться анализировать некоторые htmls с помощью Excel VBA, но в некоторых сетях я преуспел, но потерпел неудачу некоторые другие. И один из html получил текст ниже:

image

Я попытался проанализировать его с помощью кода VBA, показанного ниже:

Sub ParseS()
Dim http As Object, html As New HTMLDocument
Dim topics As Object, topic As HTMLHtmlElement
Dim ProductInfos As Object, ProductInfo As HTMLHtmlElement
Dim i As Integer
Dim page As Double

    Url = Cells(2, 3).Value

    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", Url, False
    http.send
    html.body.innerHTML = http.responseText

    Set topics = html.getElementsByClassName("show_tips")

        i = Cells(4, 1).Value

        For Each topic In topics    

            Set ProductInfos = topic.getElementsByTagName("dt")(0)

            For Each ProductInfo In ProductInfos

            Sheets("parse").Cells(6 + i, 3).Value = ProductInfo.getAttribute("id")

            Next

            i = i + 1
        Next

End Sub

Как показано, я понял, что информация мне нужна под каждым классом "show_tips", поэтому я пытаюсь получить их с getElementsByClassName, затем я go для дочернего тега / dt и хочу идентификатор № (который, как я понимаю, является атрибутом), после этого я запускаю код, и он приходит ни с чем, даже с ошибкой. Он просто загрузился и ничего не показал.

Я считаю, что что-то не так, подумал, что я пробовал аналогичные коды, чтобы проанализировать некоторые другие htmls и запустить код, и он выходит ни с чем, даже с ошибкой. Он просто загрузился и ничего не показал.

Я считаю, что что-то не так, подумал, что я пробовал похожие коды для анализа некоторых других htmls, и они были успешными, я не знаю, что с этим происходит.

Надеюсь получить помощь, спасибо!

...