Suite du post Magnétoscope pour arte.tv. En effet, le site arte.tv +7 évolue et l’ancien script ne marche plus.
J’avais commencé à refaire un script pour télécharger les vidéos sur arte +7. Je n’aidais notamment de ce site, lui aussi périmé par les derniers changements : How to save videos from ARTE +7 on your computer to watch them offline
Et puis je suis tombé sur un petit site fort sympathique : http://floriancrouzat.net/arte/
Le travail est déjà tout fait, et bien! Il suffit de copier l’URL de la page de la vidéo du site arte +7, et on se voit proposer des liens de téléchargement pour plusieurs qualités de visualisation.
Bref, j’ai laissé tomber mon script…
Cependant, je voulais aussi récupérer sur arte future, la série Que faire?
Voici donc un script bash pour télécharger toute la série :
#!/bin/bash VIDEOS="http://future.arte.tv/fr/sujet/que-faire-des-reponses-aux-enjeux-de-demain" echo " ---------------------------------------------------------------" echo " > Lien : $VIDEOS" PREV=$VIDEOS HASH=$(echo "$VIDEOS" | md5sum | cut -d ' ' -f 1) echo " > Hash lien : $HASH" HTMLFILE=$(echo "$VIDEOS" | cut -d '/' -f 6) HTMLSITE=$(echo "$VIDEOS" | cut -d '/' -f 3) echo " > Fichier html : $HTMLFILE" cd ~/temp [ ! -d videos.arte.tv.$HASH ] && mkdir videos.arte.tv.$HASH cd videos.arte.tv.$HASH [ -f link.html ] && rm link.html wget -q --header="Host: $HTMLSITE" --header "Referer: $PREV" --user-agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0" "$VIDEOS" && mv "$HTMLFILE" link.html [ ! -f link.html ] && echo "Pas de fichier html !" && exit 1 JURL=$(grep "arte_vp_url" link.html | cut -d '"' -f 2) #JURL=$(echo $JURL | echo -e "$(sed 's/+/ /g; s/%/\x/g')") for L in $JURL do echo " > URL json : $L" JSONFILE=$(echo "$L" | cut -d '/' -f 6) [ -f $JSONFILE ] && rm $JSONFILE wget -q --header="Host: $HTMLSITE" --header "Referer: $PREV" --user-agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0" $L if [ -f $JSONFILE ] then mv $JSONFILE $JSONFILE.json echo " > Fichier json : $JSONFILE.json" # VURL=$(cat $JSONFILE.json | echo -e "$(sed 's/"/n/g; s/\//g')" | grep http | grep mp4 | grep EQ | head -1) VURL=$(cat $JSONFILE.json | echo -e "$(sed 's/"/n/g; s/\//g')" | grep http | grep mp4 | grep EQ | tail -1) echo " > URL video : $VURL" MP4FILE=$(echo "$VURL" | cut -d '/' -f 9) echo " > Fichier video : $MP4FILE" HTMLSITE2=$(echo "$VURL" | cut -d '/' -f 3) [ ! -f "$MP4FILE" ] && wget --header="Host: $HTMLSITE2" --header "Referer: $PREV" --user-agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0" $VURL else echo "Pas de fichier json !" fi done ls -Alh