Page 1 sur 2

télécharger plusieurs albums en ligne de commande

Publié : 05 mai 2012, 20:16
par Albert34
à partir de Dogmazic ?

Cela est il possible ?

merci d'avance pour vos réponses

Re: télécharger plusieurs albums en ligne de commande

Publié : 05 mai 2012, 20:33
par DECAY
Pas que je sache, j'imagine qu'après tu peux te bricoler un script maison pour le faire...

Re: télécharger plusieurs albums en ligne de commande

Publié : 05 mai 2012, 21:48
par shangril
Sous Linux et autres Unixs, wget est souvent installé par défaut.

Un truc sympa à faire, c'est de cliquer sur le lien 'tout écouter' pour un artiste, et d'enregistrer (au lieu d'ouvrir) la playlist au format m3u qui sera fournie.

Ensuite un petit

Code : Tout sélectionner

wget -i nom_de_la_playlist.m3u -c
téléchargera l'intégrale de l'artiste. J'utilise cette méthode très souvent.

Re: télécharger plusieurs albums en ligne de commande

Publié : 06 mai 2012, 00:15
par Albert34
un truc plus bourrin ;)
genre accès à un ftp ;)

y'a pas ?

Re: télécharger plusieurs albums en ligne de commande

Publié : 06 mai 2012, 00:24
par shangril
Nope, je peux pas aider plus... Enfin, si, peut-être, j'ai sous la main un script pour télécharger l'intégrale de l'archive Dogmazic, mais je crois que c'est pas exactement ce que tu cherches...

Re: télécharger plusieurs albums en ligne de commande

Publié : 06 mai 2012, 00:51
par Albert34
en fait, si ;)

Re: télécharger plusieurs albums en ligne de commande

Publié : 06 mai 2012, 01:03
par shangril
Ok, voilà le script, que je n'ai que peu testé à l'époque (ça commence déjà à dater), mais le peu que j'ai testé ça avait l'air de marcher. Une fois lancé, il tourne éternellement, en boucle, jusqu'à ce qu'il soit interrompu. Normalement, il est conçu pour pouvoir reprendre là où il s'était arrêté, après une interruption.

Code : Tout sélectionner

#!/bin/bash

#dogbackup version 0.4 par Shangri-l

#license : http://creativecommons.org/licenses/by-sa/2.0/fr

#nécessite/required : wget

#toutes les opérations se font dans le répertoire courant, aussi connu sous le nom de répertoire de travail
#any operations are be done in the current directory, also know as work directory


#merci de noter que si vous téléchargez un fichier avec ce script, et que plus tard ce fichier est supprimé de Dogmazic, et qu'encore plus tard vous lancez ce script à nouveau, le script ne va pas aller effacer de votre disque dur local les fichiers qui ne seraient plus sur Dogmazic. On peut voir ça comme un bug ou comme une fonctionnalité.
#please note that if you download a file with this script, and it gets deleted from Dogmazic, and later you launch this script again, the script will not delete from your local hard drive the files that are no longer on Dogmazic. This may be seen a a bug or as a feature.

hostname="http://www.dogmazic.net"

#here's the path to get the .m3u playlist for all songs. Will probably have to be modified when the third version of Dogmazic is online. The "format" option allows you to specify in which format you want the files, accepted values currently are "mp3" or "ogg".

#voici le chemin pour obtenir la liste de lecture .m3u pour tous les morceaux. Devra probablement être modifié quand la troisième version de Dogmazic sera en ligne. L'option "format" vous permet de spécifier dans quel format vous voulez les fichiers, les valeurs acceptées actuellement sont "mp3" ou "ogg".

pathtoken1="/radio/styleM3u.php?f="
format="mp3"
pathtoken2="&style="

#ce script est conçu pour tourner en boucle en permanence, il est possible de l'interrompre à tout moment et de le relancer plus tard
#this script is meant to run in a permanent loop, this is possible to interrupt it at any time and to relaunch it later

#avant toute chose on teste l'existence d'un répertoire nommé "archive" où les morceaux seront temporairement déplacés ; s'il n'existe pas on le crée
#first we test if a directory named "archive" exists, where the tracks will be temporarily moved ; if it does not exist we create it

if [ ! -d archive ]; then
   mkdir archive
fi


while true; do
   #the main loop always running
   #la boucle principale qui tourne en permanence
   
   if [ ! -d list.m3u ]; then
      rm list.m3u
   fi
   #si une ancienne liste existe provenant d'une itération précédente, on la supprime
   #if an old list exists coming from a previous attempt, we remove it

   wget -O list.m3u -c $hostname$pathtoken1$format$pathtoken2

   #on télécharge la liste de lecture contenant tous les morceaux
   #we download the playlist with each and every song in it

   wget -c -i list.m3u

   #on télécharge tous les morceaux spécifiés par cette liste
   #we download each and every track in this list

   mv *\[www.dogmazic.net\].$format archive

   #on déplace tous les fichiers qui ont été traité par le robot Dogmazic vers le répertoire "archive". Cette méthode est du bricolage, actuellement tous les fichiers crawlés par le robot se termine par [www.dogmazic.net], ceci peut changer dans le futur. Naturellement si quelqu'un a fourni une url de fichier dont le nom se termine par [www.dogmazic.net] sur Dogmazic, il sera aussi déplacé alors même qu'il n'a pas été crawlé par le robot ; mais une telle chose a peu de chances d'arriver.
   #we move any file that has been crawled by the Dogmazic robot to the "archive" directory. This method is kinda ugly hack, for now any file crawled by the robot ends with [www.dogmazic.net], this can change in the future.  Naturally if someone submited a file url with the filename ending by [www.dogmazic.net] to Dogmazic, it will be moved as well while it hasn't been crawled by the bot ; but such a thing is not likely to happen.

   rm *.$format

   #on efface tous les autres fichiers audios, qui n'ont pas encore été traité par le robot, donc leurs nom de fichier ne reflètera pas la licence et on en veut pas. De plus ça évite les doublons, histoire de ne pas avoir deux versions du même fichier, une traitée par le robot et une non traitée par le robot
   #we delete any other audio files, that were not crawled by the robot, then their tag may be not updated and we do not want them. Furthermore, this avoid having twice the same file, one of them taggued by the robot and the other one not crawled by it.

   mv archive/* .
   
   #on remet les fichiers dans le répertoire courant, histoire qu'à la prochaine itération ils ne soient pas téléchargés une nouvelle fois
   #we put back files in the current directory, so then at the next iteration they will not be downloaded again
   

done
#fin de la boucle principale qui tourne en permanence
#end of main loop always running


Re: télécharger plusieurs albums en ligne de commande

Publié : 06 mai 2012, 12:11
par Albert34
merci ;)

Re: télécharger plusieurs albums en ligne de commande

Publié : 06 mai 2012, 13:50
par shangril
De rien ! Si ça marche, je veux bien des retours, comme je disais je n'ai pas vraiment testé le script à fond.

Re: télécharger plusieurs albums en ligne de commande

Publié : 07 mai 2012, 11:01
par Albert34
Ca marche nickel :D

merci encore