Я пытаюсь найти способ скопировать данные из исходного кода веб-сайтов и вставить их в Excel. Данные выглядят так:
`<p>
<span class="highlight">Mitarbeiter:</span> 120 in Deutschland<br/>
<span style="display: "><span class="highlight">Umsatzklasse:</span> 10 - 50 Mio. Euro<br/></span>
<span style="display: none"><span class="highlight">Filialen:</span> <br/></span>
<span style="display: inline"><span class="highlight">Gegründet:</span> 1925</span>
</p`
Значение, которое я здесь ищу, будет "10 - 50 млн. Евро".
Это код, который я написал до сих пор. :
Sub Sample() Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = False
.Navigate "https://www.wer-zu-wem.de/firma/steinel-normalien.html"
Do While .Busy And .readyState <> 4: DoEvents: Loop
Application.Wait Now + TimeValue("0:00:06")
Sheets("Dummy").Range("A1").Value = .document.body.outerHTML
.Quit
End With
End Sub
Мой подход заключался в том, чтобы сначала скопировать весь исходный код HTML в электронную таблицу, а затем продолжить работу с функцией InStr. Однако приведенное выше решение просто дает мне выдержку из полного исходного кода, который не содержит данных, которые я ищу.
Кто-нибудь знает, что именно я делаю здесь неправильно? Может быть, есть лучший подход, может быть, чтобы получить данные, которые я ищу, прямо с веб-сайта без промежуточного шага?
Заранее благодарим вас, ребята, за интерес к моей проблеме
Редактировать: Пытался реализовать ввод Nathan_Sav. Заканчивается следующим:
Public Sub IE_Automation()
Dim IE As InternetExplorer
Dim HTMLdoc As HTMLDocument
Dim d As MSHTML.HTMLDocument
Dim y As MSHTML.IHTMLElementCollection
Dim x As MSHTML.IHTMLSpanElement
Set IE = New InternetExplorer
With IE
.Visible = False
.Navigate "https://www.wer-zu-wem.de/firma/steinel-normalien.html"
While .Busy Or .readyState <> READYSTATE_COMPLETE: DoEvents: Wend
Set d = .document
Set y = d.getElementsByTagName("Span")
For Each x In y
If (x = ) Then
Else
End If
Next x
End With
End Sub
Следует упомянуть, что у меня есть только базовое понимание VBA, поэтому я не уверен, как продолжить. Я понимаю, что теперь я перебираю объекты, полученные с сайта. С чем именно я сравниваю объекты, чтобы получить нужные мне данные? (внутри функции if, я полагаю)