#101 Le 13/09/2007, à 23:10
- JD2000
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Ajoute ca au debut du script...
SET DIM_URL="http://www.canalplus.fr/c-infos-documentaires/pid1895-c-dimanche.html"
Et ca a la fin...
REM ########## DIMANCHE+ ##########
%WGET% -q -O dimanchep.lst %DIM_URL%
%GREP% _SUJET_ dimanchep.lst | %TR% /. \n | %GREP% _SUJET_ | %SED% "s/image_L/video_%QUALITY%.flv/" > dimanchep.tmp
DEL dimanchep.lst
FOR /F %%X IN (dimanchep.tmp) DO wget -nc %VHREF%%%X
DEL dimanchep.tmp
En fait, c'est juste remplacer la recherche de *_EMISSION_* par *_SUJET_*...
#102 Le 14/09/2007, à 00:33
- Yodajr
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Merci pour la réponse (:)) mais la modif que tu préconise, c'est pour ton script windows, mais sans vouloir faire mon chieur, comment l'adapter au script pour linux ?
Hors ligne
#103 Le 14/09/2007, à 06:48
- sined
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Grâce à toutes les astuces glanées sur ce post, je met à dispo le script que j'utilise pour télécharger les guignols, puis encoder le fichier avec mencoder.
Je passe juste en paramètre la date du jour à récupérer (sous la forme AAMMJ, soit 070913 pour le 13 septembre 2007)
#!/bin/bash
# date passée en argument sous la forme : 070911 (AAMMJJ)
DATE=$1
FILE=`wget -qO - http://www.canalplus.fr/c-humour/pid1784-c-les-guignols.html | grep -o -E "\w*_EMISSION_$1_CAN_[0-9]*"`
if [ $FILE ]
then
FILEFLV="${FILE}_video_H.flv"
wget "http://vod-flash.canalplus.fr/$FILEFLV"
FILEAVI=${FILEFLV%.flv}
mencoder -oac mp3lame -lameopts cbr=96 -ovc xvid -xvidencopts bitrate=450 $FILEFLV -o $FILEAVI.avi
mv $FILEAVI.avi 20${DATE}_LesGuignolsC+.avi
else
echo "fichier non disponible"
fi
Hors ligne
#104 Le 14/09/2007, à 14:14
- oliricha
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Hello!
je suis avec impatience votre sujet car j'aimerais faire un flux RSS (a l'aide de PHP) des émissions de canalplus pour Miro par exemple ou autres lecteurs RSS, mais je n'y arrive pas :S
Mon problème c'est que je n'arrive pas a récupérer la source de la page afin de récupérer l'identification de 4 chiffres.
Je passe par un file-get-contents() sur la page http://www.canalplus.fr/c-humour/pid1784-c-les-guignols.html mais rien a faire, ca me retourne une page blanche! Comme si le serveur m'interdisait l'accès. Mais même sans aucun message d'erreur.
Alors que avec vos scripts, vous y arriver sans problème :S
Des idées?
#105 Le 14/09/2007, à 14:22
- Link31
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Ça passe avec un navigateur normal (Firefox, Lynx, etc...) et avec wget, mais ça ne passe pas avec curl. Je pense qu'ils bloquent d'une façon ou d'une autre les requêtes qui ne proviennent pas d'un navigateur...
Hors ligne
#106 Le 14/09/2007, à 14:24
- JD2000
Re : [How-to] Télécharger l'émission des Guignols/Zapping
J'ai rajouter des emissions (si ca interesse les linuxiens) et j'ai factorise mon horrible script vu que la liste s'allonge...
@ECHO OFF
SET WGET="wget.exe"
SET GREP="grep.exe"
SET TR="tr.exe"
SET SED="sed.exe"
SET QUALITY=H
SET VHREF=http://vod-flash.canalplus.fr/
CALL :GET "http://www.canalplus.fr/c-humour/pid1784-c-les-guignols.html"
CALL :GET "http://www.canalplus.fr/c-infos-documentaires/pid1830-c-zapping.html"
CALL :GET "http://www.canalplus.fr/c-humour/pid1787-c-groland.html"
CALL :GET "http://www.canalplus.fr/c-infos-documentaires/pid1895-c-dimanche.html"
CALL :GET "http://www.canalplus.fr/c-humour/pid1778-c-pepites-sur-le-net.html"
CALL :GET "http://www.canalplus.fr/c-infos-documentaires/pid1831-c-le-meilleur-du-hier.html"
CALL :GET "http://www.canalplus.fr/c-infos-documentaires/pid1829-c-le-journal-des-jeux-video.html"
EXIT
:GET
%WGET% -q -O pagehtml.tmp %~1
%GREP% _CAN_ pagehtml.tmp | %TR% /. \n | %GREP% _CAN_ | %SED% "s/image_L/video_%QUALITY%.flv/" > streams.lst
DEL pagehtml.tmp
FOR /F %%X IN (streams.lst) DO wget -nv -nc %VHREF%%%X
DEL streams.lst
GOTO:EOF
Pour les curieux ou bidouilleurs:
- ca telecharge la page dans pagehtml.tmp
- ca recupere les lignes contenant "_CAN_", vire le code html, modifie la fin pour pointer vers la video, et envoie tout ca dans streams.lst
- Puis, ca telecharge chaque liens du fichier streams.lst, sauf si il a deja ete telecharge
#107 Le 14/09/2007, à 14:39
- JD2000
Re : [How-to] Télécharger l'émission des Guignols/Zapping
As-tu essayer de spoofer le USER AGENT? Par exmple pour curl:
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
Sinon, je pense que ton probleme doit etre celui-ci:
http://www.canalplus.fr/c-humour/pid1784-c-les-guignols.html
301 Moved Permanently -> /lib/prop.php?pid=1784
301 Moved Permanently -> http://media.canal-plus.com/lib/prop.php?num=YToxOntpOjA7czo4MDoizaXSx6qSFwIcfdRVifHB1NHZ8bl0Er52nFtm5NScQ8F5e7KdZePkfiGe2C2iTCjdTYo6t4LCLOW9re5aE4rrqxLfCg8UoiSgLBlS3MDFcr0iO30%3D&si=14&ref=czo4OiJwaWQ9MTc4NCI7
301 Moved Permanently -> http://www.canalplus.fr/index.php?pid=1784
HTTP request sent, awaiting response... 200 OK
Il suffit donc d'aller directement sur http://www.canalplus.fr/index.php?pid=1784
A ce sujet, j'ai trouve d'autres emissions en changeant pid
A suivre...
#108 Le 14/09/2007, à 15:08
- Link31
Re : [How-to] Télécharger l'émission des Guignols/Zapping
As-tu essayer de spoofer le USER AGENT? Par exmple pour curl:
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
Oui, j'ai essayé, bien sûr. Mais ça ne passe pas non plus. C'est probablement un problème dans le formatage des requêtes HTTP.
edit : ou alors un problème de cookies, je me souviens que lorsque j'avais configuré Konqueror pour refuser les cookies, la page de canal+ ne s'affichait pas non plus.
Dernière modification par Link31 (Le 14/09/2007, à 15:09)
Hors ligne
#109 Le 14/09/2007, à 17:34
- oliricha
Re : [How-to] Télécharger l'émission des Guignols/Zapping
... même faire un file-get-contents() sur la page d'accueil "www.canalplus.fr" renvoie une page blanche... Mais vais regarder plus en profondeur avec un changement de user-agent...
Mais je sens plutôt le coup du cookies ou de la mise en session d'un ID. :S
Mais ce que je comprends pas, c'est que vos scripts ne passe pas non plus par un navigateur, non? Ils ne devraient pas marcher
#110 Le 14/09/2007, à 20:16
- christian5484
Re : [How-to] Télécharger l'émission des Guignols/Zapping
J'ai refait quelques tests pour mon script (en perl cette fois). Le problème de la page blanche est dû à cause du non renvoi du cookie. Wget renvoie par défaut le cookie (c'est pourquoi ça marche). Même si perl suit correctement les différentes redirections, c'est uniquement en renvoyant le cookie que la page avec contenu est retournée.
En revanche, l'useragent utilisé ne change rien du tout.
Hors ligne
#111 Le 15/09/2007, à 01:50
- Oni
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Hello!
je suis avec impatience votre sujet car j'aimerais faire un flux RSS (a l'aide de PHP) des émissions de canalplus pour Miro par exemple ou autres lecteurs RSS, mais je n'y arrive pas :S
aaaa, j'aimerai beaucoup que tu y arrives.
J'aimerai moi aussi que chaque jour Miro me télécharge automatiquement les émissions de la veille.
Sinon, j'ai aussi constaté que si les cookies ne sont pas activés la page de "canalplus" ne s'affiche pas.
« La nature a créé des différences, l'Homme en a fait des inégalités. »
Hors ligne
#112 Le 15/09/2007, à 02:16
- Link31
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Mais ce que je comprends pas, c'est que vos scripts ne passe pas non plus par un navigateur, non? Ils ne devraient pas marcher
links -source ou lynx -dump
Hors ligne
#113 Le 16/09/2007, à 09:42
- lothei
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Je suis un peu tombé sur cette page par hasard, donc à tout hasard je vous fait profiter de mon script, mais je remarque qu'on utilise la meme méthode (récupération du code dans l'image, puis on forme la bonne url pour télécharger flv)
Ce script va récupérer guignols / sav des émissions / groland (en fait toutes les vidéos que l'on peut voir sur la page, donc le dernier groland, les 4 derniers guignols, etc..), en ne récupérant que le nécessaire, si une vidéo a déjà été téléchargée il ne la retelechargera pas.
Il ne prends aucun paramètre en entrée.
Chez moi il est lancé en tache cron durant la nuit, comme ca j'ai toutes les émissions chez moi si j'en loupe pendant un certain temps.
#------------------
# $1 : url
function dl_cplus
{
wget -nv -O tmp.htm $1
videos=$( cat tmp.htm | grep "_image_L" | sed -e 's/ /§/g')
for video in $videos
do
#echo $video
lavideo=$( echo $video | sed -e "s/.*http:\/\/media.canal-plus.com\/wwwplus\/image\/[0-9]*\/[0-9]*\/[0-9]*\///g" | sed -e 's/_image_L.*//g' )
lefichier=$lavideo"_video_H.flv"
lurl="http://vod-flash.canalplus.fr/"$lefichier
[ ! -f $lefichier ] && wget -nv $lurl
done
}
# Guignols
dl_cplus "http://www.canalplus.fr/index.php?pid=1784"
# SAV des émissions
dl_cplus "http://www.canalplus.fr/index.php?pid=1782"
# Groland
dl_cplus "http://www.canalplus.fr/index.php?pid=1787"
Il n'est pas très "parlant" (option -nv de wget) donc ne vous étonnez pas de ne pas avoir l'état d'avancement (regardez juste si le flv se crée bien sur le disque)
A priori c'est simple de rajouter une nouvelle source de vidéos, il suffit de modifier le pid
Dernière modification par lothei (Le 16/09/2007, à 09:51)
Hors ligne
#114 Le 16/09/2007, à 11:02
- oliricha
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Bon, ben j'arrive pas à trouver une fonction PHP équivalente à "wget"
#115 Le 16/09/2007, à 15:10
- JD2000
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Je connais pas PHP mais peut-etre que tu trouvera ta solution (cense gerer les cookies) dans le code si dessous...
http://www.wappler.eu/programmierung/php-httpclient/
#116 Le 16/09/2007, à 15:38
- lothei
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Bon, ben j'arrive pas à trouver une fonction PHP équivalente à "wget"
Effectivement j'ai les memes soucis que toi, donc au vue de ce que fait wget il semble qu'il faille effectivement prendre en compte cookie et php session id...
Sinon, une autre solution serait peut etre de passer par wget, non?
Avec un exec("wget http://.....")
Hors ligne
#117 Le 16/09/2007, à 16:54
- globilux
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Bon, ben j'arrive pas à trouver une fonction PHP équivalente à "wget"
il faut savoir que wget permet l'utilisation piour plusieur protocole
ftp, http, https, ftps
et php et un langage de prog
sous entendu une fonction correspond à une action
par exemple, ftp_get correspond à un wget sur un serveur ftp
Hors ligne
#118 Le 16/09/2007, à 17:20
- JD2000
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Et libcurl de PHP? C'est cense gerer les cookies...
http://us2.php.net/manual/fr/ref.curl.php
#119 Le 16/09/2007, à 23:48
- JD2000
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Bon, j'ai rajoute une historique, histoire de ne pas re-telecharger une video deja vue...
Y a pas a dire, le shell DOS et les commandes UNIX windows pas standard c'est pas pratique!
Genre grep qui renvoie 0 en errorlevel dans les 2 cas (si il trouve et si il trouve pas), etc...
@ECHO OFF
SET WGET="wget.exe"
SET GREP="grep.exe"
SET TR="tr.exe"
SET SED="sed.exe"
SET QUALITY=H
SET VHREF=http://vod-flash.canalplus.fr/
IF EXIST videos.lst DEL videos.lst
IF NOT EXIST history.lst ECHO. > history.lst
ECHO Building list...
CALL :GETLIST "http://www.canalplus.fr/c-humour/pid1784-c-les-guignols.html"
CALL :GETLIST "http://www.canalplus.fr/c-infos-documentaires/pid1830-c-zapping.html"
CALL :GETLIST "http://www.canalplus.fr/c-humour/pid1787-c-groland.html"
CALL :GETLIST "http://www.canalplus.fr/c-infos-documentaires/pid1895-c-dimanche.html"
CALL :GETLIST "http://www.canalplus.fr/c-humour/pid1778-c-pepites-sur-le-net.html"
CALL :GETLIST "http://www.canalplus.fr/c-infos-documentaires/pid1831-c-le-meilleur-du-hier.html"
CALL :GETLIST "http://www.canalplus.fr/c-infos-documentaires/pid1829-c-le-journal-des-jeux-video.html"
FOR /F %%X IN (videos.lst) DO CALL :PROCESSLIST "%%X"
DEL searchhist.tmp
DEL videos.lst
PAUSE
EXIT
:GETLIST
%WGET% -q -O pagehtml.tmp %~1
%GREP% _CAN_ pagehtml.tmp | %TR% /. \n | %GREP% _CAN_ | %SED% "s/image_L/video_%QUALITY%.flv/" >> videos.lst
DEL pagehtml.tmp
GOTO:EOF
:PROCESSLIST
ECHO "Checking %~1..."
%GREP% "%~1" history.lst > searchhist.tmp
SET ALREADY=N
FOR /F %%Y IN (searchhist.tmp) DO IF "%~1" == "%%Y" SET ALREADY=Y
IF "%ALREADY%" == "N" ECHO " Downloading..." & %WGET% -nv -nc "%VHREF%%~1" & ECHO %~1 >> history.lst
GOTO:EOF
#120 Le 17/09/2007, à 13:14
- neub
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Je suis un peu tombé sur cette page par hasard, donc à tout hasard je vous fait profiter de mon script, mais je remarque qu'on utilise la meme méthode (récupération du code dans l'image, puis on forme la bonne url pour télécharger flv)
Ce script va récupérer guignols / sav des émissions / groland (en fait toutes les vidéos que l'on peut voir sur la page, donc le dernier groland, les 4 derniers guignols, etc..), en ne récupérant que le nécessaire, si une vidéo a déjà été téléchargée il ne la retelechargera pas.
Il ne prends aucun paramètre en entrée.
Chez moi il est lancé en tache cron durant la nuit, comme ca j'ai toutes les émissions chez moi si j'en loupe pendant un certain temps.#------------------ # $1 : url function dl_cplus { wget -nv -O tmp.htm $1 videos=$( cat tmp.htm | grep "_image_L" | sed -e 's/ /§/g') for video in $videos do #echo $video lavideo=$( echo $video | sed -e "s/.*http:\/\/media.canal-plus.com\/wwwplus\/image\/[0-9]*\/[0-9]*\/[0-9]*\///g" | sed -e 's/_image_L.*//g' ) lefichier=$lavideo"_video_H.flv" lurl="http://vod-flash.canalplus.fr/"$lefichier [ ! -f $lefichier ] && wget -nv $lurl done } # Guignols dl_cplus "http://www.canalplus.fr/index.php?pid=1784" # SAV des émissions dl_cplus "http://www.canalplus.fr/index.php?pid=1782" # Groland dl_cplus "http://www.canalplus.fr/index.php?pid=1787"
Il n'est pas très "parlant" (option -nv de wget) donc ne vous étonnez pas de ne pas avoir l'état d'avancement (regardez juste si le flv se crée bien sur le disque)
A priori c'est simple de rajouter une nouvelle source de vidéos, il suffit de modifier le pid
Ca marche parfait ... trop bonne idées de récuperer l'image pour avoir la video...
PS: Par contre EMISSION est devenu RESUME aujourd'hui .... on verra comment il gere ca chaque semaine
Sinon pas bete d'utiliser cron pour faire tourner ca la nuit !!!
A++++
Dernière modification par neub (Le 17/09/2007, à 13:15)
www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)
Hors ligne
#121 Le 17/09/2007, à 20:53
- omega13
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Excuser moi,
je voudrais savoir si quelqu'un pouvait resumer ce fil dans un post avec les programme a installer, le script a utiliser, les manips journalière a faire genre changement de date si besoin, la nom du script et son extension (je suppose .sh).
Je vous en serai reconnaissant car un peu newb et interesser par ce fil je l'ai lu entierement et je suis incapable de suivre tout ce qui a était fait!
MErci:
Gnome Ubuntu 16.04
Hors ligne
#122 Le 18/09/2007, à 14:32
- Boogie Julien
Re : [How-to] Télécharger l'émission des Guignols/Zapping
salut a vous
content de voir ke du monde se demene pour pouvoir a nouveau mater le zapping kan ton ve, et notement a l'etranger...
y faudrait creer un blog ou chacun pourait mettre le lien flv avec le bon code chake jour pour créer un systeme d'archive en fait
y'aura au moins une personne pour les relevé chake jour...
le zapping, les guignols et autre bien sur...
a moins ke ce soit deja le cas??
#123 Le 18/09/2007, à 17:15
- Link31
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Salut à vous
Content de voir que du monde se démène pour pouvoir a nouveau mater le zapping quand on veut, et notamment à l'étranger...
Il faudrait créer un blog ou chacun pourrait mettre le lien flv avec le bon code chaque jour pour créer un systeme d'archive en fait.
Il y aura au moins une personne pour les relever chaque jour...
Le zapping, les guignols et autres bien sûr...
À moins que ce ne soit déjà le cas ??
Hors ligne
#124 Le 18/09/2007, à 17:41
- neub
Re : [How-to] Télécharger l'émission des Guignols/Zapping
hehe
Il est a l'etranger, il a le droit d'oublier un peu son francais et je te jure que c'est assez chiant de mettre les accents quand tu n'as pas le clavier qui est fait pour ...
www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)
Hors ligne
#125 Le 19/09/2007, à 15:00
- Boogie Julien
Re : [How-to] Télécharger l'émission des Guignols/Zapping
Pas l'habitude des forums, désolé...
Alors je m'applique afin de réitérer ma demande d'un projet d'archivage de ces liens flv, ne searait-ce que sur ce topic ou un autre...