NEWS
Wert aus einer Webseite auslesen?
-
Moin,
da der Binance Adapter leider nicht mehr weiter entwickelt wird und auch die Beispiele des Parser Adapter bei finanzen.net nicht mehr funktionieren bzw. die Anfragen gesperrt werden:
Hat jemand eine Webseite mit Kryptokursen und eine RegEx Beispiel, was mit dem Parse Adapter noch funktioniert?LG
-
@umichel sagte in Wert aus einer Webseite auslesen?:
bzw. die Anfragen gesperrt werden:
weil trotz Verbot von automatisiertem Auslesen in den Nutzungsbedingungen dies durch geführt wurde.
Da ist Blockieren noch die harmlose Variante.
Es hat auch schon Besuche der Kripo gegeben. -
Gut, dass ist eine Sache der Betreiber.
In vielen Fällen auch absolut verständlich.
Aber ist deshalb das Auslesen aller Webseiten verboten? -
@umichel sagte in Wert aus einer Webseite auslesen?:
Hat jemand eine Webseite mit Kryptokursen
hast du den eine Liste von Seiten mit krypto kursen?
Aber das wäre dann der nächste Kandidat für das blockieren,
weil dann sicherlich welche alle paar sekunden 100 kurse abrufen.
dabei ist das für die öffentlichen über webseite abrufbare kurse sowieso irrelevant ist, da diese uU bereits Minuten-Alt sind.
Wenn jemand day-trading betreibt, kommt er um kostenpflichtige angebote nicht herum.Aber ist deshalb das Auslesen aller Webseiten verboten?
Das kommt auf die AGBs der Seite an. Da aber diese Informationen immer von der jeweiligen Seite teuer eingekauft werden müssen, müssen die so etwas in die AGBs reinschreiben, das man die nicht auslesen darf. Ob da jetzt die Kripo kommt ist fraglich. Auch gibt es eine Gerichtsentscheidung dass Scrapen schon erlaubt ist, auch kommerziell. allerdings sind rechtlich mE da noch nicht alle Varianten ausgelotet
ggfs. könnte ein übermäßiger Abruf von Daten auch als versuchte denial-of Service-Attacke gewertet werden.
Wie gesagt, wenn man alle paar Minuten ein paar Werte ausliest, wird kein Anbieter da etwas machen können, da er es uU eh nicht unterscheiden kann, ob das über Browser oder einem automatisierten System verursacht wird.
Wer aber in kurzen Abständen viele Daten abruft, dann kann so etwas schon auffallen. Also ich würde da so ein Alarming einbauen: Wer mehr wie 10 mal in 10 Sekunden und mehr wie 100 mal in 10 Minuten abruft, wird die IP für 4h geblockt, oder so ähnlich.Hier wurden aber die wettbewerbsrechtlichen Vorteile gewertet. Wenn jemand das privat macht, könnte die Erklärung schwierig werden.
https://www.ra-plutte.de/bgh-zum-automatisierten-auslesen-fremder-websites-via-screen-scraping/ -
Ne ... keine Daytrading oder Abrufen im Minutentakt.
Mir reicht sowas einmal am Tag.
Dann bekomme ich ja auch eine neue IP und gut ist.
Ich hab mir die Ulanzi Uhr besorgt.
Matthias hat dafür einen tollen Adapter erstellt.
Wäre halt nett sich darauf z.B. Kurse oder News anzeigen lassen zu können.
Da passt der Parser Adapter vielleicht ganz gut.
Mir sind zumindest keine Adpater bekannt die das sonst könnten.
Keine Ahnung ob z.B. Coinbase: https://www.coinbase.com/de/price/cardano
oder CMC das blocken: https://coinmarketcap.com/de/currencies/cardano/ -
@umichel sagte in Wert aus einer Webseite auslesen?:
Aber ist deshalb das Auslesen aller Webseiten verboten?
musst du in den Nutzungsbedingungen der jeweiligen Website nachsehen.
-
Ok, da muss ich dann mal schaune, ob die die das reglementieren.
Auf der anderen Seite gibt es aber ja auch Tools die ganze Seite downloaden oder sogar archivieren.
Den Unterschied verstehe ich jetzt nicht so ganz, aber könnte man theoretisch solch einen Umweg gehen?
Also erst downloaden und dann auslesen? -
@umichel
Welche Tools?
Für die gilt die AGB ja auch, bzw für dich der das Tool bedient.
Für Automaten gibt's die Robots.txt
Da kann der Webseiten Betreiber angeben was ein Automat lesen darf und was nicht
https://de.m.wikipedia.org/wiki/Robots_Exclusion_StandardFür viele Seiten gilt das sie so nicht vom Server übertragen werden wie sie angezeigt werden. Oft werden per Javascript dynamisch daten nachgeladen.
Da hört es dann oft für die Automaten auf so etwas automatisiert auszuwerten. Da versagt dann auch der Parser Adapter und wir müssen andere Methoden finden die Daten zu finden -
Na ja, es gibt selbst im Selfhosting Bereich sowas wie Wallabag oder ArchiveBox.
Getestet habe ich die nicht, aber früher habe ich mal HTTrack genutzt und selbst Webrowser können Webseiten speichern?
Und da wurden meine ich auch die Daten geparsed, die dynamisch nachgeladen wurden gespeichert.
Zusätzlich gibt es zig Online Servives die das kostenpflichtig machen.
Mich wundert aktuell also die Problematik Webseite zu speichern oder zu parsen. Klar, solltes das nicht im Sekundentakt passieren oder gar Geld damit verdient werden.
Deshalb meine Idee mit dem Umweg über geicherte Webseiten.
Ob ein Proxy da hilft weiss ich nicht, so groß sind meine technischen Kenntnisse nicht. -
@umichel
Die Tools werden ja durch dich ausgeführt.
Daher musst du die AGBs der jeweiligen Seite beachten.
Klar kann der Anbieter im Detail nicht immer unterscheiden, ob es im Browser durch einen Nutzer angeklickt wurde oder durch ein Tool ausgeführt wird.
Aber Übermaß führt zu Gegenmaßnahmen und schädigt die andern, die das gemäßigt nutzen.
Problem ist, manche sagen, ach, man wird schon Nix merken.
Und schwupp, die wupp ist der Dienst gesperrt, oder der Anbieter führt stärkere Maßnahmen ein.Ein Proxy hilft Nur dann, wenn deine Anfragen über mehrere Rechner geführt werden, so dass die ursprüngliche Adresse, von der die Anfragen kommen nicht mehr sichtbar sind. (Beispielsweise TOR Netzwerk)
-
Hmm OK.
Vielleicht hat ja jemand noch einen Tip wie ich z.B. an Kryptokurse komme.
Oder auf eigenes Risiko z.B. die hier auslesen: https://www.coinbase.com/de/price/cardano -
sieht schlecht aus.
die Abfrage wird durch ein javascript auf diese Adresse ausgeführt
https://www.coinbase.com/graphql/query?&operationName=useGetPriceChartDataQuery&extensions={"persistedQuery"%3A{"version"%3A1%2C"sha256Hash"%3A"3aa896a38f822d856792f18ca18f98f49580540f517693ad4e51508c529ddb6e"}}&variables={"skip"%3Afalse%2C"slug"%3A"cardano"%2C"currency"%3A"EUR"}Der Server erfordert von dem request aber strict-origin-when-cross-origin
d.h. die Abfrage darf nur von einer Seite ausgeführt werden, die die gleiche domäne hat wie der link bzw. in einer Ausnahmeliste drin steht:diese seite auslesen funktioniert meiner meinung nach nur mit browser automatisierungstools wie selenium. evtl auch mit tools wie greasemonkey/tampermonkey, welche aber auch wieder einen laufenden browser benötigen, bei dem die seite regelmäßig aufgerufen wird
hm, korrektur. der request geht doch durch?
probiere im parser-adapter bitte mit dem obigen link die folgenden einstellungenregex
},{"price":"([\d\.]+)
type
number(.)
-
Mega ...
vielen vielen Dank dafür.
Funktioniert prima.
Den Intervall habe ich jetzt auf 87000000 gesetzt.
Das ist etwas mehr als 24 Stunden und fällt also noch wenige auf, als wenn man das genau nach 24 Stunden macht.
Wenn du mir jetzt noch erklärst, wie du an den Link gekommen bist ...
Und wäre es auch möglich auszulesen, ob der Kurs gestiegen oder gesunken ist?
Auf der Seite selbst wird das ja durch ein Symbol oder die Farbe dargestellt. -
Das ist bei jeder Seite etwas individuell.
Wenn der Wert nicht direkt in der Seite mit übertragen wird, dann muss sie anderweitig abgerufen werden.
Die Gesamtheit aller abgerufenen Daten (Webseite, Bilder, javascrpts, CSS, Fonts und vieles mehr) kann über die Developer-Tools des Browsers (zumindes bei Chrome/Edge/Firefox) eingesehen werden.
Also Seite aufrufen
dann rechte Maustaste auf den Webseiteninhalt und "Untersuchen" aufrufen.
Dann in den Netzwerktab gehen
und die Seite nochmal neu laden F5
Dann sieht man im Reiter alle einzelnen Dateien die abgerufen werden. In diesem Fall sind es über 200 einzelne Requests.
Dann mit STRG+F die Suchfunktion aufrufen und nach 0.25 suchen.
Dann alle Ergebnisse einzeln durchschauen und schauen ob die Fundstelle die Quelle sein kann.
Dann hat man den Request gefunden
Den dann probieren, ob der Request wieder im Browser aufrufbar ist. -
OK, vielen Dank.
Ich werde das nach meinem Urlaub mal testen.