Pour nous contacter : soyez au rendez-vous sur IRC ! ⋅ Parcourir l'archive musicale Dogmazic ⋅ Notre Blog
Notre Documentation

télécharger plusieurs albums en ligne de commande

07:05 modifié dans Tech
à partir de Dogmazic ?

Cela est il possible ?

merci d'avance pour vos réponses

Réponses

  • Pas que je sache, j'imagine qu'après tu peux te bricoler un script maison pour le faire...
  • 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:1]wget -i nom_de_la_playlist.m3u -c[/code:1]

    téléchargera l'intégrale de l'artiste. J'utilise cette méthode très souvent.
  • un truc plus bourrin ;)
    genre accès à un ftp ;)

    y'a pas ?
  • 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...
  • en fait, si ;)
  • 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:1]#!/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

    [/code:1]
  • De rien ! Si ça marche, je veux bien des retours, comme je disais je n'ai pas vraiment testé le script à fond.
  • Ca marche nickel :D

    merci encore
  • le player dogmazic permet ce type de fonctionnalité, tu peux créer une playlist et la télécharger d'un seul coup en .zip ...
  • Merci Albert34 pour les retours !

    Merci Zeco pour l'astuce du player. Juste, ça fait un moment que le robot n'est plus que partiellement fonctionnel, et les morceaux inscrits récemment ne vont pas forcément se retrouver sur le player ; les miens y sont, je sais pas si c'est parce que je les upload à la fois en ogg et en mp3 ou si c'est parce que je les taggue soigneusement avant de les uploader, ou peut-être même pour ces deux raisons simultanément. Mais je sais qu'il y a pas mal de zicos qui ont reporté que le player ne contient pas leurs morceaux.

    Le boulot du robot, c'était de transférer les fichier du serveur principal vers le serveur d'archive, en les renommant au passage, d'y ajouter des tags ID3 en fonction des informations fournies dans le formulaire (titre, artiste etc), de retrouver la durée du morceau pour pouvoir l'indiquer sur le site, et de faire la conversion mp3 -> ogg.

    Depuis un temps indéterminé, le robot se contente de transférer les fichiers en les renommant, le reste il ne le fait plus.
  • Ca ne marche plus :(

    une explication ?
  • Surcapacité ! Les serveurs sont pas mal sollicités ce week end et le site à un peu du mal. Je crois bien que le problème vient de là !
  • Oui, je confirme, j'avais pas fait attention et laissé tourner le script pour tester, et ce matin j'ai constaté qu'il s'était remis à fonctionner et était en train de télécharger l'intégrale du site. Donc, ça remarche, c'était juste un problème lié au fait qu'il y avait vraiment beaucoup de monde pour visiter Dogma hier en fin de journée.

Ajouter un commentaire