Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Réservez vos DVD et clé USB Ubuntu-fr (premières livraisons mi-mai)

Si vous avez des soucis pour rester connecté, déconnectez vous et reconnectez vous depuis ce lien en cochant le case
Me connecter automatiquement lors de mes prochaines visites.

M.A.J. en cours du forum possibilité de bug, nous faisons le maximum pour les résoudre au plus vite

#1 Le 19/01/2013, à 16:50

Krrf

[Script/Bash] Récupérer chaque jour le podcast de Canteloup (Europe1)

Bonjour à tous.
Je vous livre ici un script qui me permet de récupérer chaque jour sur ma machine la "Revue de presque" de Nicolas Canteloup depuis le site d'Europe 1. Il y a sans doute mieux ailleurs mais celui-ci a le mérite d'être léger et facilement adaptable.

Il faut juste remplacer le 'toto' de la seconde ligne par votre homedir. Les fichiers mp3 se retrouveront dans votre dossier ~/Musique

#!/bin/bash
DOWNLOAD_DIR="/home/toto/Musique/"
URL_EUROPE1='http://www.europe1.fr/MediaCenter/Emissions/La-revue-de-presque-de-Nicolas-Canteloup/'

# isoler le premier téléchargement de la page $URL_EUROPE1
url1=`wget -q -O- $URL_EUROPE1 | grep 'btn-telechargement' | 	head -n 1`
# isoler l'URL de son fichier mp3
url2=`echo $url1 | sed 's/.*media_url=\([^ ]*\)".*/\1/'`
# url_decode basique mais suffisant
url3=`echo $url2 | sed 's/%3A/:/gi' | sed 's/%2F/\//gi'`
#echo $url3

# générer la date du jour
today=`date -d '0 day ago' +'%Y-%m-%d'`
# extraire et tronquer le nom de fichier...
#filename=`echo $url3 | sed 's/.*\/\(.*\)\-.*\.mp3/\1/'`
filename=`echo $url3 | sed 's/.*\/\(.*\)\-[0-9]*\.mp3/\1/'`
#echo $filename
# ... et le préfixer avec la date de la veille
filename=$DOWNLOAD_DIR$today"_"$filename".mp3"
#echo $filename
# télécharger le fichier
wget -O $filename $url3

Ensuite,
- j'ai appelé ce fichier recup_podcast_canteloup.sh
- je lui ai donné les droits d'exécution
- je l'ai placé en root dans un nouveau répertoire /opt/canteloup/
- j'ai planifié son exécution à 11h55 du lundi au vendredi:

sudo crontab -e

avec la ligne

55 11 * * 1-5 /opt/canteloup/recup_podcast_canteloup.sh > /opt/canteloup/log.txt

Et voilà, tout est prêt pour mon jogging du week-end. Bon amusement!

Hors ligne

#2 Le 20/01/2013, à 14:27

mecanotox

Re : [Script/Bash] Récupérer chaque jour le podcast de Canteloup (Europe1)

Merci pour le scripte.

Hors ligne

#3 Le 22/01/2013, à 01:08

cracolinux

Re : [Script/Bash] Récupérer chaque jour le podcast de Canteloup (Europe1)

cool


Pixup : postez vos images vite et bien
« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#4 Le 22/01/2013, à 14:36

Vergeylen

Re : [Script/Bash] Récupérer chaque jour le podcast de Canteloup (Europe1)

Hello Krrf,

Merci pour ton script. smile

Pour le répertoire home, tu peux remplacer /home/toto par $HOME:

[danv@sheeva ~]$ echo $HOME
/home/danv

Pour le crontab, pas besoin d'être root pour le lancer, ni même que le script se trouve dans /opt. Tu peux avoir (crontab -e):

55 11 * * 1-5 cd /home/toto && ./recup_podcast_canteloup.sh > ./log.txt

sinon tes fichiers générés risquent d'avoir root comme owner (ce qui n'est pas un problème avec sudo chown login:group fichiers pour les changer de propriétaire mais bon, c'est une manip de moins). smile

Dernière modification par Vergeylen (Le 22/01/2013, à 14:37)


https://Place2Be.biz (en préparation)

Hors ligne

#5 Le 10/04/2013, à 20:35

Cyrille_tux

Re : [Script/Bash] Récupérer chaque jour le podcast de Canteloup (Europe1)

url3=`echo $url2 | sed 's/%3A/:/gi' | sed 's/%2F/\//gi'`
url3=`echo $url2 | sed -e 's/%3A/:/gi' -e 's/%2F/\//gi'`

==> Une autre façon d'écrire

filename=`echo $url3 | sed 's/.*\/\(.*\)\-[0-9]*\.mp3/\1/'`
filename=`echo $url3 | sed -e "s/.*\///" -e "s/-[0-9].*//"`

==> Une autre façon d'écrire

Quelle est la différence entre  :

today=`date -d '0 day ago' +'%Y-%m-%d'`

et

today=`date +"%Y-%m-%d"`

Hors ligne

#6 Le 14/12/2013, à 14:58

anton_suarez

Re : [Script/Bash] Récupérer chaque jour le podcast de Canteloup (Europe1)

One-line :

wget -qO- http://www.europe1.fr/MediaCenter/Emissions/La-revue-de-presque-de-Nicolas-Canteloup |grep \.mp3|sed "s/.*\(http\%3A.*\.mp3\).*/\1/g" | sed "s,%3A,:,g" | sed "s,%2F,/,g" | xargs -n 1 wget -nc -q

Hors ligne