Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Details aus WEb-Site auslesen

Details aus WEb-Site auslesen
25.05.2023 17:24:53
Jowe

Hallo geneigte Helfer und Helferinnen,

ich habe die diese Url "https://www.thalia.de/suche?filterPATHROOT=2&sq=9783596707553"
und ich übergebe die Url an diese Function:

Function LadeURL(url As String, antwort) As Boolean
    Dim request As New WinHttpRequest
    request.Open "GET", url, False
    request.setRequestHeader "User-Agent", "Mozilla/5.0"
    On Error Resume Next
    request.send
    If Err.Number > 0 Then
        Err.Clear
        antwort = ""
        LadeURL = False
    Else
       ' hier soll das Ergebnis in die Variable antwort übergeben werden
        antwort = request.responseText
        LadeURL = True
    End If
    On Error GoTo 0
    Set request = Nothing
End Function


wie kann ich nun aus request.responseText den Titel des Romans und die Angaben zum
Autor (Name, Vorname) auslesen und in antwort übergeben?
Zur Zeit versuche ich das mangels erforderlicher Kenntnisse mit "instr" und "mid" und "left" und "right" sehr umständlich und zudem unbefriedigend zu erledigen.
Als Ergebenis für die ISBN "9783596707553" würde ich in der Variable antwort dies erwarten:
erwarten: 'Wolf, Klaus-Peter, Ein mörderisches Paar - Das Versprechen'

Gruß
Jochen

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Details aus WEb-Site auslesen
25.05.2023 17:53:08
Zwenn
Hallo Jowe,

Du kannst die gewünschten Inhalte mit dem Makro unten abrufen. Du kannst daraus auch eine Funktion machen und statt Debug.Print den Funktionsnamen hinschreiben. Ich habe die beiden Inhaltsteile Autor und Titel zu einem String zusammen gebaut, weil Du es so angegeben hast. Man die natürlich auch getrennt behandeln.

Du hast zwar schon einen User Agent angegeben, aber der ist ungültig. Deshalb wurde die Seite gar nicht geladen, sondern Fehler 403 zurückgeliefert. Du kannst gültige User Agent Strings für den FireFox hier einsehen:
https://www.whatismybrowser.com/guides/the-latest-user-agent/firefox

Sub ThaliaItem()

  Dim url As String
  Dim doc As Object
  Dim result As String
  
  Set doc = CreateObject("htmlFile")
  
  With CreateObject("MSXML2.XMLHTTP.6.0")
url = "https://www.thalia.de/suche?filterPATHROOT=2&sq=9783596707553"
    .Open "GET", url, False
    .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0"
    .Send
    
    If .Status = 200 Then
      doc.body.innerhtml = .responseText
      result = Trim(doc.getElementsByClassName("tm-artikeldetails__autor")(0).innertext)
      result = result & " " & Trim(doc.getElementsByClassName("tm-artikeldetails__titel")(0).innertext)
    Else
      MsgBox "Page not loaded. HTTP status " & .Status
    End If
  End With
  
  Debug.Print result
End Sub
Viele Grüße,

Zwenn


Anzeige
AW: Details aus WEb-Site auslesen
25.05.2023 19:22:16
Jowe
Hallo Zwenn,
klappt leider nicht Fehler 403!
Habe Windows 11, Edge Browser und auch Firefox; Edge ist Standard
Hast Du noch ne Idee?
Gruß
Jochen


AW: Details aus WEb-Site auslesen
25.05.2023 20:05:13
Zwenn
Öhm,

das finde ich merkwürdig. Den 403 habe ich nur mit falschem User Agent bekommen. Es hat auch nix mit einem Browser zu tun, denn die verwendete Technologie xhr (XML HTTP Request) fragt ganz ohne Browser ein statisches Dokument von einem Web Server ab. In diesem Fall eine HTML Datei. Ich schaue mir das noch einmal in Ruhe an, aber als ich das Makro geschrieben habe, habe ich die richtige Ausgabe bekommen.

Ich arbeite noch unter Windows 10, kann mir aber nicht vorstellen, dass es etwas mit der Version des Betriebssystems zu tun hat. Auch, dass ich mit Excel 2016 arbeite und Du mit 2019 sollte egal sein, da xhr nicht zu Excel gehört, sondern zu Windows.

Kann jemand Anders, der hier mitliest, das Makro mal laufen lassen und etwas zum Ergebnis schreiben?


Anzeige
AW: Details aus WEb-Site auslesen
25.05.2023 20:48:19
Oberschlumpf
Moin alle,

hab das Makro von Zwenn getestet...und...auch Err 403 erhalten :-)

Dann hab ich nach requestheader gegoogelt, diese Seite...
https://www.df.eu/blog/http-header-wissenswertes-uber-http-kopfzeilen/
...gefunden...

...und nach einigen Tests war dann diese Codezeile...

.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0 (Chrome auf Windows 11)"
...erfolgreich!

Es macht wohl wirklich einen Unterschied, ob man Win11 (wie Jochen + ich) oder Win 10 (wie Zwenn) verwendet.

Jdflls gibts kein Err 403 mehr, und Rückgabewert im Direkt-Fenster ist:
Klaus-Peter Wolf Ein mörderisches Paar - Das Versprechen

Hilfts?

Ciao
Thorsten


Anzeige
AW: Details aus WEb-Site auslesen
25.05.2023 22:21:55
Jowe
Hallo Thorsten,
klappt leider auch nicht, Bin ratlos, der Fehler 403 kommt auch mit Deinem Lösungsversuch.
Gruß
Jochen


AW: Details aus WEb-Site auslesen
25.05.2023 22:45:11
Jowe
Hi,
habe jetzt dies erfolgreich testen können:
.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
danke Euch, aber so wirklich erschließt sich mir das nicht.

Gruß
Jochen


AW: Details aus WEb-Site auslesen
25.05.2023 22:45:26
Jowe
Hi,
habe jetzt dies erfolgreich testen können:
.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
danke Euch, aber so wirklich erschließt sich mir das nicht.

Gruß
Jochen


Anzeige
AW: Details aus WEb-Site auslesen
26.05.2023 12:27:23
Zwenn
Arbeitest Du mit einem Mac, also einem Rechner von Apple unter iOS?


AW: Nein, Windows 11...
26.05.2023 12:38:12
JoWE
...darum ist mir ja das ganze sehr rätselhaft.
Ich hatte genau wie Thorsten nach einer Lösung gegoogelt.
Hatte dann schließlich eine Seite mit etlichen (möglicherweise) passenden Strings mit Hinweis auf Windows und 64Bit-Architektur gefunden.
Habe dann einen nach dem anderen ausprobiert bis schließlich einer funktionierte.


AW: Nein, Windows 11...
26.05.2023 16:30:46
Zwenn
Ah, ok. Ich hatte gedacht, vielleicht hast Du es nochmal auf einem anderen Rechner versucht, deshalb meine Frage. Dann hätte ich nämlich gemutmaßt, dass geprüft wird, ob das Betriebssystem zum User Agent passt. Das ist aber offensichtlich nicht der Fall.

Komisch finde ich, dass es bei mir nicht mit Deinem ersten UA funktioniert hat und ging davon aus, dass der halt einfach als ungültig abgelehnt wurde. Dann hast Du es aber mit dem von mir eingesetzten UA auch nur bis zur 403 gebracht. Auch bei Thorsten hat es erst nicht funktioniert. Aber bei jedem dann doch mit dem Durchtesten weiterer UA. Das versteh wer will, ich kann mir da keinen Reim drauf machen.

Funktioniert der Abruf denn in der Konfiguration jetzt regelmäßig bei Dir?


Anzeige
AW: Ja, klappt bei jeder Abfrage oT
26.05.2023 16:40:28
JoWE

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige