peterha
Goto Top

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. face-sad


Meine Frage: Wie kann ich diese Datei mit dynamischen Link dennoch (unter Win) herunter laden?

Danke für euren Tipp,
Schönes WE,
Peter

Content-Key: 254154

Url: https://administrator.de/contentid/254154

Printed on: April 24, 2024 at 15:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Nov 07, 2014 at 10:48:06 (UTC)
Goto Top
Zitat von @peterha:

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
Member: colinardo
colinardo Nov 07, 2014 updated at 11:10:14 (UTC)
Goto Top
Hallo Peter,
du musst den Namen von einer Webseite wo dieser steht extrahieren, und dann als Variable in dein wget-Aufruf einbauen.

Wie willst du's haben? Als Powershell/VBS/AutoIt ?

Grüße Uwe
Member: peterha
peterha Nov 07, 2014 at 10:55:02 (UTC)
Goto Top
Indem ich drauf gehe und dann anklicke...
Member: peterha
peterha Nov 07, 2014 at 11:11:45 (UTC)
Goto Top
Hört sich nach einem Plan an. Womit würdest du das machen? Geht das per CMD die dann eine Datei schreibt "link.txt" und daraus fischt sich das dann das WGET?

Danke Uwe.

Peter
Member: colinardo
Solution colinardo Nov 07, 2014, updated at Nov 10, 2014 at 16:13:24 (UTC)
Goto Top
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)
$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')  
Member: Lochkartenstanzer
Solution Lochkartenstanzer Nov 07, 2014, updated at Nov 10, 2014 at 16:13:22 (UTC)
Goto Top
Zitat von @peterha:

Indem ich drauf gehe und dann anklicke...

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.