Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 19/01/2013, à 15: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, à 13: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, à 00: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, à 13: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, à 13:37)


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

Hors ligne

#5 Le 10/04/2013, à 19: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, à 13: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

Haut de page ↑