• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Automatisches login, csv-Download

swe

New member
Hallo Forum!

Erstmal vorweg:
Ich bin neu hier, habe wenig Ahnung von html und fast gar keine von javascript.
Zudem weiss ich nicht, ob ich in diesem Forum überhaupt richtig bin mit meiner Frage.
Aber falls letzteres der Fall sein sollte, vielleicht gibt gibt es ja jemanden, der eine Idee hat, wo ich weitersuchen könnte...

Ich möchte mit meinem Raspberry Pi automatisiert einen täglichen Download von *.csv - Daten durchführen.
Und nun mein Problem:
dazu muss sich die Maschine in einem Portal anmelden, auf die richtige "Unterseite" navigieren, das aktuelle Datum auswählen, den csv-download auslösen und sich dann wieder verabschieden.
Wird so ein Zugriff mit js realisiert?
(Der Seitenquelltext gibt aus, dass das Portal in Javascript abgefasst ist.)

Ich bin für jeden Tipp dankbar!

Gruß
swe
 
Das kann man theoretisch schon mit JS (z.B. in Form eines GreaseMonkey Skriptes) machen, aber das geht wahrscheinlich einfacher über irgendwas, was keinen Browser braucht. Z.B. über cURL.
 
Hallo kkapsner,

danke für die schnelle Antwort!
Dann werd ich mich mal mit cURL beschäftigen...
Das ist doch ein Ansatz zum Starten. :)

Gruß swe
 
Naja...
Wenn ich denn genau wüsste, was ich will... ;)
Ich hätte gerne die berühmte Eier-legende-Wollmilchsau!
In dem Fall also die Daten automatisiert heruntergeladen mit möglichst wenig Aufwand, mit einer geringen Fehleranfälligkeit und hohen Stabilität. (das dahinter liegende System ist mir letztendlich egal)
Da mir noch nicht so richtig klar ist (auch mangels "Vorbildung"), wie das am Ende aussehen soll, schau ich mich jetzt um, was möglich (sinnvoll!) ist...
Erstmal cURL-ing...

Gruß swe
 
(Der Seitenquelltext gibt aus, dass das Portal in Javascript abgefasst ist.)
Kannst du das mal hier zeigen bitte. Ein Seitenquelltext im Browser ohne HTML mit nur JS möchte ich gern mal sehen.

Generell: Bietet der Anbieter der Daten denn garkeine offizielle Schnittstelle an? Denn was hier mit cURL etc. vorgeschlagen wird ist ja typisches Screen Scraping
Und das ist weder wartungsarm noch stabil noch fehlerunanfällig. Das ist die schlechteste aller Möglichkeiten, die man immer ganz zum Schluss nur nehmen sollte, wenn der Anbieter tatsächlich keine Schnittstelle anbietet. Wobei sich das relativiert, wenn das Risiko von Änderungen der Webseite des Anbieters gering ist. Ich kenne das Thema ein wenig im Bankenumfeld und Banken ändern ständig ihre Webseiten und die User schreien dann regelmäßig lauthals, dass ihr Onlinebanking Programm nicht mehr "geht" :) Das ist immer sehr amüsant. :)
 
Hy mikdoe,

>Kannst du das mal hier zeigen bitte. Ein Seitenquelltext im Browser ohne HTML mit nur JS möchte ich gern mal sehen.
Jaja, da hab ich mich wohl etwas unsauber ausgedrückt; mangels Wissens; in der Tat html, aber da es mich iritiert hat, dass auf jeder "Unterseite" dieselbe url in der Adresszeile steht, bin ich Anfänger direkt über die Zeilen mit "javascript" gestoplert (was mich schließlich auch in dieses Forum getrieben hat).

Ich hab jetzt erste Versuche mit cURL und auch wget hinter mir und habe genau dieses Problem: ich bräuchte die genaue url der csv. Kann man die irgendwie auslesen?

Der Anbieter bietet (noch?) keine Schnittstelle an. Grrrr!

Gruß swe
 
dass auf jeder "Unterseite" dieselbe url in der Adresszeile steht
Dann ist das ein Serverscript in PHP, Perl etc. ohne Rewrite-Engine

bin ich Anfänger direkt über die Zeilen mit "javascript" gestoplert (was mich schließlich auch in dieses Forum getrieben hat).
Ja, kein Problem. Ein bisschen PHP und cURL haben wir hier auch vertreten.
Wundert mich, dass Julian noch nicht angebissen hat, er ist eigentlich unser cURL Spezi :)

ich bräuchte die genaue url der csv. Kann man die irgendwie auslesen?
Nein, du musst erst das Login auf der Seite machen (ich gehe davon aus, dass die Seite ein Login mit Benutzer und Passwort hat) und dann die entsprechende Seite durch ein simuliertes Formular aufrufen. Du musst also quasi mit deinem Script exakt genau das machen, was du als Mensch mit deinem Browser machst, um an die Datei zu kommen. Musst also vorher erst genau die Seite analysieren und schauen, was da wie wann passiert und das nachbauen.

Der Anbieter bietet (noch?) keine Schnittstelle an. Grrrr!
Das ist nicht schön. Manchmal ist es dann so, dass er absichtlich keine Schnittstelle zur Verfügung stellt, weil er automatisierte Zugriffe nicht haben möchte. Man sollte also in der Sache darauf gefasst sein, dass man mit Robot-Barrieren (z.B. ein Captcha wäre so eine Barriere) zu kämpfen hat. Dazu später mehr, falls es so weit kommt.
 
Zuletzt bearbeitet:
>du musst erst das Login auf der Seite machen
Hab ich auch versucht, leider gibt
curl -u user:passwort https://XXXXXXX
nur den Seitenquelltext der Login-Seite aus.
Aber insgesamt scheint das ja ne gute Spur zu sein.
Dann muss ich also auch noch mein Englisch verbessern, oder:
Gibt´s irgendwo ein cURL-Handbuch auf deutsch?

Danke für die hilfreichen Hinweise!

Captcha gibt´s da nirgends (es sei denn man könnte sowas verstecken)
 
Zuletzt bearbeitet von einem Moderator:
...aber nur wenn man die Brille aufsetzt. ;)

Und oje, das sieht auf deutsch ja auch nicht viel einfacher aus. Dann mach ich mich mal an´s Werk!
Nochmal danke!

Das -u ist der Schalter für den User
 
Zuletzt bearbeitet:
cURL ist ein eigenständiges Programm, das da von PHP verwendet wird. Man kann das auch direkt Aufrufen.

PS: Ich meinte eigentlich keinen Screen Scaper, sondern man sieht sich einfach an (z.B. mit wireshark, Network Monitor, HTTPFoxl, o. Ä.) welche URLs da nach welchem Schema mit welchen Parametern aufgerufen werden und baut das dann nach. Wenn die URLs oder das Schema geändert werden, muss man das natürlich nachpflegen, aber ohne API muss man das immer machen.
 
Ein bisschen PHP und cURL haben wir hier auch vertreten.
Wundert mich, dass Julian noch nicht angebissen hat, er ist eigentlich unser cURL Spezi :)
Hatte gestern keine Zeit - hab erst gerade eben den Thread gesehen. ;)
PS: ich hab das jetzt mal nach "Allgemein" geschoben - sofern es Absicht war, dass es in dieses Forum gehört, kann es aber gerne hierher zurück...
 
Läuft denn der Login über ein PHP-Skript oder per .htaccess o.ä.? Werden die Logininformationen in einem Cookie gespeichert?
 
Bei mir löst auch das eher ein Fragezeichen aus...
Wenn ich denn wüsste, wie ich das herausbekomme...
Cookies jedenfalls nicht, da ich die deaktiviert habe.
 
Taucht beim Login ein Dialog des Browsers auf? Dann ist es eine BasicAuth via .htaccess. Wenn du deine Logindaten in ein Formular auf der Webseite eingibst, läuft es über eine Skript, das diese ausliest und eine Session startet.
 
Zurück
Oben