WGET - Downloaden von Dateien bei denen sich der Downloadlink ändert.
Moin Leute,
auf einer URL http://domain.toplevel/files/ liegt eine Datei "K83KFas.bin" deren Name sich täglich ändert.
Heute ist der Link also http://domain.toplevel/files/K83KFas.bin und morgen http://domain.toplevel/files/*.bin
Ich möchte diese Datei täglich mit WGET (oder einer anderen Lösung) herunterladen. Der Parameter -r (rekursiv) oder --mirror wird von der Website abgelehnt.
Mit
wget.exe -e robots=off --wait 0.77 -A bin "http://domain.toplevel/files/*.bin"
also Sternchen geht's nicht.
Meine Frage: Wie kann ich diese Datei mit dynamischen Link dennoch (unter Win) herunter laden?
Danke für euren Tipp,
Schönes WE,
Peter
auf einer URL http://domain.toplevel/files/ liegt eine Datei "K83KFas.bin" deren Name sich täglich ändert.
Heute ist der Link also http://domain.toplevel/files/K83KFas.bin und morgen http://domain.toplevel/files/*.bin
Ich möchte diese Datei täglich mit WGET (oder einer anderen Lösung) herunterladen. Der Parameter -r (rekursiv) oder --mirror wird von der Website abgelehnt.
Mit
wget.exe -e robots=off --wait 0.77 -A bin "http://domain.toplevel/files/*.bin"
also Sternchen geht's nicht.
Meine Frage: Wie kann ich diese Datei mit dynamischen Link dennoch (unter Win) herunter laden?
Danke für euren Tipp,
Schönes WE,
Peter
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 254154
Url: https://administrator.de/contentid/254154
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
6 Kommentare
Neuester Kommentar
Zitat von @peterha:
auf einer URL http://domain.toplevel/files/ liegt eine Datei "K83KFas.bin" deren Name sich täglich ändert.
auf einer URL http://domain.toplevel/files/ liegt eine Datei "K83KFas.bin" deren Name sich täglich ändert.
Und wie erfährst du sonst den Namen des Links?
lks
Ich würde das unter Windows komplett mit Powershell machen, dann brauchst du noch nicht mal wget zum runterladen. Wenn du willst mache ich dir mal ein kleines Beispiel damit.
Hier der Powershell-Code für dein Vorhaben (Kompatibilität mit PS 2.0 sichergestellt, ansonsten geht's auch mit dem CMDlet Invoke-Webrequest)
Hier der Powershell-Code für dein Vorhaben (Kompatibilität mit PS 2.0 sichergestellt, ansonsten geht's auch mit dem CMDlet Invoke-Webrequest)
$net = New-Object System.Net.WebClient
$net.Encoding = [System.Text.Encoding]::UTF8
$content = $net.DownloadString("http://free.avg.com/de-de/update-herunterladen")
$dlurl = [regex]::Match($content,'http://download\.avgfree\.com/softw/15free/update/.*?\.bin').Value
$net.DownloadFile($dlurl,'c:\definition.bin')
Dann hoel die seite mit wget/links/lynx und extrahier daraus den link. quick und drity könten das z.B. so aussehen:
lynx --dump http://web.sei.te/ | grep "http://web.sei.te/pfad/.*bin" | xargs wget
Führt zwar auch zu fehlermeldungen, holt aber auch die bin-datei, egal wie sie gerade heißt.
lks
PS. Wenn die Webseite den Links per javascript baut, mußt man das noch etwas ausgefeilter machen.