En effet canalplus a encore changé sa façon de procéder ce qui n'aide pas pour les scripts de récup des vidéos...
Pour ceux que ça intéresse, et comme je récupère quelques émissions, j'ai modifié celui tout simple que j'utilise pour qu'il re-fonctionne à nouveau:
#!/bin/bash
#chemin à changer en fonction d'ou vous voulez stocker les vidéos
cd /multimedia/Canal_Plus
case "$1" in
1)
URL="http://www.canalplus.fr/index.php?pid=1830"
NOM="Zapping"
;;
2)
URL="http://www.canalplus.fr/index.php?pid=1787"
NOM="Groland"
;;
3)
URL="http://www.canalplus.fr/index.php?pid=1784"
NOM="Guignols"
;;
*)
#Si je possède déjà l'Id de la vidéo que je souhaite récupérer
if [[ ${#1} > 1 ]]
then ID=$1
NOM=$1
else
URL="http://www.canalplus.fr/index.php?pid=1830"
NOM="Zapping"
fi
esac
if [[ -z $2 ]]
then d="0"
else d=$2
fi
date=`date +%y%m%d --date ''$d' days ago'`
fdate=`date +%d/%m/%y --date ''$d' days ago'`
echo "Téléchargement :: "$NOM" :: du "`date +%A\ %d\ %B\ %Y --date ''$d' days ago'`" en cours..."
function dl_cplus
{
INDEX=$( wget -q -O - $1 | grep "\">" | grep $fdate | grep "</div>" | cut -f5 -d '_' | cut -f1 -d '"' )
#Si l'Id de la vidéo n'a pas été transmis en paramèttre
if [[ -z $ID ]]
then ID=$( wget -q -O - $1 | grep "aVideos\[$INDEX\]" | grep "CONTENT_ID" | cut -f2 -d '"' | head -n 1)
fi
page="http://www.canalplus.fr/flash/xml/module/embed-video-player/embed-video-player.php?video_id=$ID"
VIDEO=$( wget -q -O - $page | grep -o "http://[^ ]*H.flv" )
if ! ($VIDEO) then
wget $VIDEO
echo "fin du téléchargement: "$NOM
else
echo "Pas de vidéo trouvée à ce jour"
fi
}
dl_cplus $URL
echo "Done."
Il n'y a que 3 émissions gérées car c'est les 3 qui m'intéressent perso.
Pour en avoir plus il faut les rajouter avec leur adresse dans le switch de début...
Pour plus d'info sur le fonctionnement du script,
cf ce post