1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Datei mittels einem dynamischen Link downloaden (wget?)

Discussion in 'Programmieren' started by grabschmayr, Nov 25, 2014.

Thread Status:
Not open for further replies.
  1. Schönen Tag,

    Mal sehen, ob mir wer weiter helfen kann. Leider bin ich aus der SuFu nicht schlau geworden.

    Ich habe folgenden Link:
    http://www.apg.at/transparency/Down...-26T00_00_00Z_2014-11-26T23_45_00Z_15M_de.csv

    ich möchte hier täglich mittels einer Batch-Datei einen Download machen und die Dateien abspeichern (fortlaufende Nummern, Zeitstempel oder dergleichen), damit ich vergleichen kann, wie oft sich die Excel-Werte (Prognosen) verändern.

    Mittels wget funktioniert das leider nicht, weil wget den Teil "Download.aspx" als Datei sieht und nicht die gesamte URL.

    Gibt es hier bei wget eine erweiterte Funktion bzw kann ich dieses Problem anders umgehen?

    Wie kann ich den Link dynamisch bearbeiten, wenn ich zum Beispiel immer die letzten 3 Tage haben möchte?

    Danke schon mal im Voraus für eure Mühe und Hilfe.

    Lg Max
     
  2. chipchap

    chipchap Ganzes Gigabyte

  3. Danke für den Tip, arbeite aber bereits mit VBA.

    Grundproblem ist eigentlich der Link. Wie kann ich hier das .csv downloaden?
     
  4. Urs2

    Urs2 Megabyte

    Hallo Max

    Du kannst die CSV aus Excel-VBA herunterladen und anschliessend mit dem gleichen Sub auch in ein neues Excelblatt einfügen. Aber so weit sind wir noch nicht.

    Den gewünschten Zeitraum muss das Makro von irgendwoher erfahren, zB aus Zellen im Arbeitsblatt.
    Dann muss es die URL basteln aus statischen und dynamischen Teilen, etwa so >>>
    Code:
    Der ganze Link >>>
    
    myURL = "http://www.apg.at/transparency/Download.aspx?LANGUAGE=de&PID=DAFWG&Format=csv&Resolution=15M&DateFromLocal=20141001&DateToLocal=" & _
            "20141101&CacheDir=20141125115150_a068947ad3174fb5958b6a137564a0ea&CacheFileName=" & _
            "export_dafwg_2014-11-26T00_00_00Z_2014-11-26T23_45_00Z_15M_de.csv"
    
    
    zerlegt in statische und dynamische Teile >>>
    
    myURL1 = "http://www.apg.at/transparency/Download.aspx?LANGUAGE=de&PID=DAFWG&Format=csv&Resolution=15M&DateFromLocal="
    myURL2 = "20141001"		'>>> dynamisch = Startdatum
    myURL3 = "&DateToLocal="
    myURL4 = "20141101"		'>>> dynamisch = Enddatum
    myURL5 = "&CacheDir="
    myURLx    usw
    
    dann den Link wieder zusammenfügen >>>
    
    myURL = myURL1 & myURL2 & myURL3 & ..... & myURLx
    
    Die von mir schon hingeschriebenen Teile sind kein Problem.
    Was nachher kommt, ab 'CacheDir', schon eher >>
    Sind das nicht Daten, die der Server selbst, für sich, dynamisch erstellt, wenn Du dort auf einen Link klickst?
    Dann wäre der automatische Download so nicht möglich.

    Schau das mal an

    Gruss Urs
     
  5. Danke Urs2,

    so ähnlich habe ich mir das auch vorgestellt. Bzw so ähnlich habe ich es auch gelöst.

    Ja, du hast recht, der Server stellt die Daten dynamisch zusammen. Jedoch kann ich ihm über den Link die erforderlichen Daten übergeben.
    Sprich ich brauch nur ein Hilfsprogramm (oder etwas ausprogrammiertes) welches mir die .csv und nicht das .aspx downloadet.
    Eigentlich ist alles ab CacheDir nebensächlich, denn das beschreibt nur die Datei(-name), die downgeloadet wird. Diese Werte könnten immer gleich bleiben.

    Somit geht es einzig um den Download, der mir nicht gelingt. :(
     
  6. kalweit

    kalweit Hüter der Glaskugel

    Wenn man wget mit den richtigen Parametern füttert, dann funktioniert das auch... :rolleyes:

    Code:
    wget -nd -O "%date%.csv" "http://www.apg.at/transparency/Download.aspx?LANGUAGE=de&PID=DAFWG&Format=csv&Resolution=15M&DateFromLocal=20141001&DateToLocal=20141101&CacheDir=20141125115150_a068947ad3174fb5958b6a137564a0ea&CacheFileName=export_dafwg_2014-11-26T00_00_00Z_2014-11-26T23_45_00Z_15M_de.csv"
     
  7. OMG, es funktioniert!

    Hab mir zwar die ganzen Erweiterungen von wget angesehen, aber auf das bin ich nicht gekommen.

    HERZLICHEN DANK!!!:danke:
     
Thread Status:
Not open for further replies.

Share This Page