Page 1 of 1

Suche Text mit Anführungsstrichen

Posted: 12 Sep 2023, 12:41
by Helmut2
Hallo zusammen,

nach dem ich in diesem Beitrag viewtopic.php?f=82&t=121174
gesehen habe, wie Daten aus einer Webseite geholt werden können, wollte ich es auch einmal ausprobieren.
Seiten die ohne Anführungsstriche die Daten einstellen, habe ich auch herausbekommen.
Einige Seiten haben aber relativ viele Anführungszeichen und die führen dann nicht zum Erfolg.
Bei der Seite https://www.finanzen.net/index/dax bekomme ich immer die Fehlermeldung: Specifically: HttpRequest error, status: 403
obwohl der Quelltext leicht aufzurufen geht. Gibt es dafür eine Erklärung?

Hauptsächlich geht es mir aber um diesen Fehler:
Die Seite https://www.boerse.de/indizes/Dax/DE0008469008 liefert leider bei meiner Suche den Fehler
Error: Missing space or operator before this.
Specifically: last" data-format-option="0">1")

Hier mein Probierscript:
Spoiler
Ein anderes Script ohne Anführungsstriche funktioniert gut
https://www.boerse-stuttgart.de/de-de/produkte/indizes/846900-dax
Würde mich über jede Hilfe und Erklärung freuen.
Vielen Dank im Voraus.

Gruß
Helmut

Re: Suche Text mit Anführungsstrichen  Topic is solved

Posted: 13 Sep 2023, 03:20
by just me
Moin und Willkommen,

es ist nicht immer einfach, die Lösung für die eigenen Probleme in der Hilfe zu finden. Aber fast immer kann man etwas finden.

:arrow: Zeichenketten / Text
Um ein tatsächliches Anführungszeichen in eine direkt geschriebene Zeichenkette einzufügen, verwenden Sie die Escapesequenz `" oder `' oder umschließen Sie das Zeichen mit gegenteiligen Anführungszeichen. Zum Beispiel: 'Sie sagte: "Ein Apfel täglich."'.

Code: Select all

Pos := InStr(HttpRequest, 'data-push-attribute="last" data-format-option="0">1')
Viel Spaß noch!

Edit: Der HTTP-Status 403 besagt, dass Du nicht über ausreichende Berechtigungen zum Zugriff auf die Daten verfügst :arrow: HTTP 403.

Re: Suche Text mit Anführungsstrichen

Posted: 13 Sep 2023, 05:36
by Helmut2
Hallo just me,

vielen Dank für die Antwort.
Die Stelle, in der Hilfe, hatte ich auch gefunden.
War leider zu doof das richtig umzusetzen. :oops:
Jetzt habe ich es auch verstanden!
Ich hatte die ´ Zeichen direkt vor den Anführungszeichen gesetzt.

Das 403 besagt, dass keine Berechtigung vorhanden ist, hatte ich auch herausgefunden,
deshalb hatte ich geschrieben - der Quelltext geht leicht abzurufen.
Seite im Browser aufrufen, rechte Maustaste und Quelltext anzeigen.
Funktioniert ohne Probleme.
Behandelt Autohotkey die Seiten anders?

Nochmal vielen Dank für die Antwort, auch auf solch eine leichte Frage.
Gruß
Helmut

Re: Suche Text mit Anführungsstrichen

Posted: 13 Sep 2023, 08:04
by just me
Helmut2 wrote:Behandelt Autohotkey die Seiten anders?
Notwendigerweise.
AHK sitzt ja nicht vor einem Bildschirm und greift auf Quelltext zu, der bereits in den Browser geladen wurde.
Es versucht, die Daten ohne Browser abzugreifen, und das mögen manche Anbieter nicht.

Re: Suche Text mit Anführungsstrichen

Posted: 13 Sep 2023, 08:06
by Ragnar
In diesem Fall hilft es, MSXML2.XMLHTTP.6.0 anstelle von WinHttp.WinHttpRequest.5.1 in der Definition der GetHtml-Funktion zu verwenden (mit ein paar zusätzlichen Anpassungen):

Code: Select all

GetHtml(url) {
   Whr := ComObject("MSXML2.XMLHTTP.6.0")
   Whr.Open("GET", url, false)
   Whr.Send()
   status := Whr.status
   if (status != 200)
      throw "HttpRequest error, status: " . status
   Arr := Whr.responseBody
   pData := NumGet(ComObjValue(arr) + 8 + A_PtrSize, "Ptr")
   length := arr.MaxIndex() + 1
   Return html := StrGet(pData, length, "UTF-8")
}

Re: Suche Text mit Anführungsstrichen

Posted: 13 Sep 2023, 08:11
by just me
Danke @Ragnar, dieses WWW-Geraffel ist immer noch nicht mein Ding.

Re: Suche Text mit Anführungsstrichen

Posted: 13 Sep 2023, 09:08
by Helmut2
Hallo Ragnar,

auch von mir vielen Dank für die Hilfe.
Funktioniert jetzt perfekt.

Gruß
Helmut