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".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#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

Haut de page ↑