Thema Datum  Von Nutzer Rating
Antwort
Rot Webscraping mit VBA Laufzeitfehler 91
21.11.2021 16:48:46 SW
NotSolved
21.11.2021 17:12:37 ralf_b
NotSolved
21.11.2021 17:26:29 Gast90399
NotSolved
21.11.2021 18:06:59 ralf_b
NotSolved
21.11.2021 18:59:35 Gast26635
NotSolved
21.11.2021 18:10:40 Gast21673
NotSolved
21.11.2021 19:03:52 Gast33866
NotSolved
21.11.2021 22:23:19 SW
NotSolved

Ansicht des Beitrags:
Von:
SW
Datum:
21.11.2021 16:48:46
Views:
871
Rating: Antwort:
  Ja
Thema:
Webscraping mit VBA Laufzeitfehler 91

Hallo zusammen,

ich habe versucht, mit dem VBA Programm die Daten von Immobilien24 auszulsesen. Jedoch stoppt das Program immer bei der Zeile

e = Int(Result.innerText) / 20

mit dem Laufzeitfehler 91.

Ich habe auch noch ähnliche Programme für andere Seite erstellt, da hatte ich jedoch kein Problem. Daher weiß ich ehrlich gesagt nicht, warum es nicht funktioniert ...

Mein ganzes Code ist wie folgt:

Option Explicit

Sub Immobilienscout24()

'Deklarationen
Dim Starttime As Double
Dim MinutesElapsed As String
Dim ws As Worksheet
Dim objHTTP As XMLHTTP60
Dim i As Long, e As Long, o As Long
Dim StartEnd As Range
Dim url As String
Dim Result As Object, Title As Object
Dim oHtml As New MSHTML.HTMLDocument

'Starttime check Applaufzeit
Starttime = Timer

'Deklaration des Worksheet
Set ws = Tabelle1

'HTTP Request
Set objHTTP = New XMLHTTP60

'Loop starten i ist von 1 bis 30
url = "https://www.immobilienscout24.de/Suche/radius/wohnung-mieten?centerofsearchaddress=M%C3%BCnchen;;Bhf%20M%C3%BCnchen%20Siemenswerke;;;&numberofrooms=2.0-&pricetype=calculatedtotalrent&geocoordinates=48.0943091;11.5326999;3.0&pagenumber=" & i
    
    'Aufruf der Webseite mit GET request
    With objHTTP
        .Open "GET", url
        .Send
    End With

    'Warten bis HTTP request geladen ist
    Do While objHTTP.readyState < 4
        DoEvents
    Loop

    'Aufruf der Webseiteninformation in Text
    Set oHtml = New MSHTML.HTMLDocument
    oHtml.body.innerHTML = objHTTP.responseText
        
    Dim Result As Object
    Set Result = oHtml.getElementsByClassName("palm-hide margin-bottom-m")(0)
    e = Int(Result.innerText) / 20


For i = 1 To e
    
    url = "https://www.immobilienscout24.de/Suche/radius/wohnung-mieten?centerofsearchaddress=M%C3%BCnchen;;Bhf%20M%C3%BCnchen%20Siemenswerke;;;&numberofrooms=2.0-&pricetype=calculatedtotalrent&geocoordinates=48.0943091;11.5326999;3.0&pagenumber=" & i
    
    For o = 0 To 19
        'Aufruf der Webseite mit GET request
        With objHTTP
            .Open "GET", url
            .Send
        End With

        'Warten bis HTTP request geladen ist
        Do While objHTTP.readyState < 4
            DoEvents
        Loop

        'Aufruf der Webseiteninformation in Text
        oHtml.body.innerHTML = objHTTP.responseText
    
        
        Set StartEnd = ws.Range("A" & ws.Range("A99999").End(xlUp).Row)
        'Title auslesen
        Set Title = oHtml.getElementsByClassName("result-list-entry__brand-title")(o)
        ws.Range("C" & StartEnd.Row + 1).Value = Title.innerText
        
    Next o

Next i
    
Set oHtml = Nothing
Set objHTTP = Nothing

MinutesElapsed = Format((Timer - Starttime) / 86400, "hh:mm:ss")
MsgBox "This code ran successfully in " & MinutesElapsed & " minutes", vbInformation

End Sub

Vielen Dank im Voraus und euch eine schöne Zeit.

 

Gruß

SW


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Webscraping mit VBA Laufzeitfehler 91
21.11.2021 16:48:46 SW
NotSolved
21.11.2021 17:12:37 ralf_b
NotSolved
21.11.2021 17:26:29 Gast90399
NotSolved
21.11.2021 18:06:59 ralf_b
NotSolved
21.11.2021 18:59:35 Gast26635
NotSolved
21.11.2021 18:10:40 Gast21673
NotSolved
21.11.2021 19:03:52 Gast33866
NotSolved
21.11.2021 22:23:19 SW
NotSolved