Verwenden Sie wget, um alle verknüpften MP3-Dateien von der Website herunterzuladen

1539
Hugh Grigg 葛修远

Ich versuche, wget zum Herunterladen der MP3-Dateien von https://musicforprogramming.net/ zu verwenden . Wie Sie sehen, gibt es auf der Startseite einen Link zu jeder Track-Seite (z. B. https://musicforprogramming.net/?twentythree ) und auf jeder Track-Seite einen Link zur MP3-Datei (z. B. https: // datashat). net / music_for_programming_23-panda_magic.mp3 ).

Ich dachte, dieser Befehl würde alle MP3-Dateien für mich herunterladen:

wget -r --no-parent --accept mp3,MP3 -nd https://musicforprogramming.net/ 

Aber es scheint, sie zu ignorieren und nur die HTML-Seiten durchzublättern, ohne sie herunterzuladen.

Was muss ich tun, um alle ~ 50 mp3-Dateien herunterzuladen, die dort verlinkt sind?

6

1 Antwort auf die Frage

7
djsmiley2k

Ich glaube standardmäßig, dass wget nur bei der aktuellen Domain bleibt. Wenn die Dateien auf musicforprogramming.net gehostet werden, würden sie sie herunterladen.

Verwenden Sie -D, um eine Liste der akzeptierten Domänen zu übergeben:

(Wie in den Kommentaren von Hugh Grigg hervorgehoben, brauchen Sie auch--span-hosts

wget -r --no-parent --accept mp3,MP3 -nd -D datashat.net,musicforprogramming.net --span-hosts https://musicforprogramming.net/

Beachten Sie, dass dies technisch immer noch nicht funktioniert, da die Site scheinbar etwas Geschickes zu tun hat, um Downloader zu blockieren. djsmiley2k vor 5 Jahren 0
Es scheint eine Kombination aus diesem und "--span-hosts" zu erfordern. Hugh Grigg 葛修远 vor 5 Jahren 0
@HughGrigg 远 修 远 Danke, das funktioniert, also werde ich meine Antwort aktualisieren !. djsmiley2k vor 5 Jahren 0