Wenn du dir den...
31.03.2026 13:26:08
Case
Moin Christian, :-)
... Quelltext der Seite (STRG+u in Firefox) anschaust, dann ist die Zahl nicht da, sondern sowas: ;-)
#############
token.awswaf.com
challenge.js
AwsWafIntegration.getToken()
#############
Das ist eine AWS WAF Bot‑Schutzseite - gehört also zu Amazon Web Services WAF (Web Application Firewall). ;-)
Mit MSXML2.XMLHTTP, Power Query und Konsorten bekommst du nur einen leeren ResponseText. ;-)
Da werden Blöcke mit JavaScript nachgeladen. ;-)
Selenium startet einen Browser - damit geht es (noch). ;-)
Es ist etwas "frickelig" einzurichten - klappt dann aber: ;-)
Mit diesem Code (für eine Zeile aus deinem Beispiel): ;-)
Option Explicit
Public Sub Main()
Dim strURL As String
Dim lngTMP As Long
strURL = Tabelle2.Range("F2").Value
lngTMP = fncIMDb(strURL)
Tabelle1.Range("AK2").Value = lngTMP
End Sub
Function fncIMDb(strURL As String) As Long
Dim objCount As Object
Dim objRegEx As Object
Dim objElem As Object
Dim strText As String
Dim objBot As Object
Set objBot = CreateObject("Selenium.ChromeDriver")
With objBot
.Start
.Get strURL
.Wait 5000
Set objElem = .FindElementsByXPath("//*[contains(text(),'von') or contains(text(),'of')]")
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Pattern = "^\d+[-–]\d+\s+(?:von|of)\s+([\d\.,]+)"
For Each objCount In objElem
strText = objCount.Text
If objRegEx.Test(strText) Then
fncIMDb = CLng(Replace(Replace(objRegEx.Execute(strText)(0).SubMatches(0), ".", ""), ",", ""))
.Quit
Exit Function
End If
Next objCount
.Quit
fncIMDb = -1
End With
End Function
Der ChromeDriver ist am einfachsten zu steuern - Edge und Firefox sind hakeliger. ;-)
Geschwindigkeit kommt dann, wenn es funktioniert über "chrome-headless" - also ohne Browserfenster. ;-)
Dann noch bei .Wait experimentieren. Z. B. statt ".Wait 5000" sowas - ".WaitForElementByXPath "//*[contains(text(),'von') or contains(text(),'of')]", 10000". ;-)
Wenn du mehrere ziehst, dann darauf achten, dass du den Browser nur einmal startest - nicht jedesmal. ;-)
Alles nur Ansätze. ;-)
Servus
Case