Programm erstellen für Dateidownload von geschützter Webseite und modifiziert in lokale SQL-DB schreiben
Hallo,
Ich seh gerade den Wald vor lauter Bäumen nicht^^
Ziel ist über eine CSV-Datei aus dem Internet Daten in einer lokalen SQL-Datenbank upzudaten.
Dazu sind folgende Arbeitsschritte erforderlich:
1. Anmelden an einer Webseite (Downloadbereich nur für angemeldete Benutzer verfügbar)
2. Starte Erstellung der CSV-Datei (mittels php-script auf der Homepage)
3. Diese Datei (variabler Dateiname) downloaden
4. Datei öffnen und ausgewählte Spalten in eine SQL-Datenbank schreiben
wie kann ich das am saubersten umsetzen?
- batch
- autoit
- VBS
- ...
vielen Dank schonmal für die Hilfe
Ich seh gerade den Wald vor lauter Bäumen nicht^^
Ziel ist über eine CSV-Datei aus dem Internet Daten in einer lokalen SQL-Datenbank upzudaten.
Dazu sind folgende Arbeitsschritte erforderlich:
1. Anmelden an einer Webseite (Downloadbereich nur für angemeldete Benutzer verfügbar)
2. Starte Erstellung der CSV-Datei (mittels php-script auf der Homepage)
3. Diese Datei (variabler Dateiname) downloaden
4. Datei öffnen und ausgewählte Spalten in eine SQL-Datenbank schreiben
wie kann ich das am saubersten umsetzen?
- batch
- autoit
- VBS
- ...
vielen Dank schonmal für die Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201073
Url: https://administrator.de/contentid/201073
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
8 Kommentare
Neuester Kommentar
z.B. damit: http://gnuwin32.sourceforge.net/packages/wget.htm
wget http://user:pass@domain.com/download.php -O test.csv
wget http://user:pass@domain.com/download.php -O test.csv
Das ist für den Download super :=), wäre auch meine Empfehlung.
Des Wieteren -------
Das Schreiben in deine MySQL DB machst du per Perl Skript.
Dabei iterierst du einfach durch die CSV und wendest auf
jede Zeile in der CSV einen Regex Ausdruck an. Dieser ist so
aufgebaut das er dir für jede Spalte Gruppen zurück gibt. Diese
kannst du abgreifen und über ein MySQL Statement in Perl direkt in
die DB schreiben.
Ich empfehle dir dazu noch, wenn deine
CSV mehr als 1000 Einträge hast, einen Batch Insert in dem Skript
zu bauen. Mit anderen Worten... Du baust ein Insert das so aussieht:
INSERT INTO table_name
VALUES (value1, value2, value3,...),(value1, value2, value3,...),(value1, value2, value3,...),(value1, value2, value3,...)
Gute Werte für so ein Insert sind bis zu 10.000 Wertepaare pro Insert.
Der Vorteil von dieser Methode ist, das er nicht für jedes einzelne Wertepaar
ein Insert vorbereiten muss. Du sparst enorm viel Zeit.
Nur damit du eine Einschätzung hast. Wenn du 50000 Zeilen einzeln in eine
DB schreibst dauert das ca 20min. Schreibst du 5 * 10000 in eine DB dauert das
15sec.
Viele Grüße Maveric
Login
wget --save-cookies=ZIELDATEI --post-data="POST_DATEN" http://URL
Download
wget --load-cookies pfad_zum_cookie download_link
wget --save-cookies=ZIELDATEI --post-data="POST_DATEN" http://URL
Download
wget --load-cookies pfad_zum_cookie download_link