Я пытаюсь выбрать поле "ключевые люди" со страницы Википедии: https://en.wikipedia.org/wiki/Abbott_Laboratories и скопировать это значение в свою электронную таблицу Excel.
Мне удалось сделать это с помощью xml httpэтот метод мне нравится из-за его скорости, вы можете увидеть код, который работает ниже.
Код, однако, недостаточно гибок, так как структура страницы вики может измениться, например, он не работаетна этой странице: https://en.wikipedia.org/wiki/3M
, поскольку структура tr td не совпадает (ключевые люди больше не являются 8-ми TR для страницы 3M)
Как я могу улучшить свой код?
Public Sub parsehtml()
Dim http As Object, html As New HTMLDocument, topics As Object, titleElem As Object, detailsElem As Object, topic As HTMLHtmlElement
Dim i As Integer
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "https://en.wikipedia.org/wiki/Abbott_Laboratories", False
http.send
html.body.innerHTML = http.responseText
Set topic = html.getElementsByTagName("tr")(8)
Set titleElem = topic.getElementsByTagName("td")(0)
ThisWorkbook.Sheets(1).Cells(1, 1).Value = titleElem.innerText
End Sub