Скрип экспоненты получают подробную информацию об уровнях с помощью отступов - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь очистить определенную c часть на странице HTML, и это код, который я использовал до сих пор

Sub GetDetails()
    Const sURL As String = "https://www.anuga.com/exhibitors-and-products/exhibitor-index/exhibitor-index-anuga.php?fw_goto=aussteller/details&&kid=0000855189"
    Dim http As MSXML2.XMLHTTP60, html As MSHTML.HTMLDocument, post As Object, i As Long, r As Long
    Set http = New MSXML2.XMLHTTP60
    Set html = New MSHTML.HTMLDocument
    With http
        .Open "Get", sURL, False
        .send
        html.body.innerHTML = .responseText
    End With
    Set post = html.querySelectorAll("div .acctitel")
    With post
        For i = 0 To .Length - 1
            r = r + 1
            Cells(r, 1).Value = .Item(i).innerText
        Next i
    End With
End Sub

Когда я набрал Set post = html.querySelector(".accordeonlist") >>, я получил весь желаемый результат но зашифровал, как будто это JSON, но я сомневаюсь, что скопировал содержимое и вставил в JSON онлайн, чтобы увидеть структуру, но у меня появилась ошибка в структуре JSON. Мне нужно точно перечислить данные по уровням и каждому подуровень будет с отступом в следующей строке Вкратце мне нужно получить ту же структуру на веб-сайте, но в строках excel Что-то вроде этого enter image description here

Я мог бы экспортировать содержимое в JSON файл как этот

Set post = html.querySelector(".accordeonlist")
Dim json As Object
Set json = JSONConverter.ParseJson(post.innerText)
ExportJSON post.innerText

Использование процедуры publi c

Sub ExportJSON(sInput As String)
    With CreateObject("ADODB.Stream")
        .Charset = "UTF-8"
        .Open
        .WriteText sInput
        .SaveToFile Environ("USERPROFILE") & "\Desktop\Output.json", 2
        .Close
    End With
End Sub

Но я хотел бы получить результаты на листе.

...