Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ? tongue

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... tongue

@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  wink
A suivre...

#108 Le 14/09/2007, à 15:08

Link31

Re : [How-to] Télécharger l'émission des Guignols/Zapping

JD2000 a écrit :

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 wink

#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

oliricha a écrit :

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. big_smile
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

oliricha a écrit :

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 wink

links -source ou lynx -dump wink

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 smile (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" sad

#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

oliricha a écrit :

Bon, ben j'arrive pas à trouver une fonction PHP équivalente à "wget" sad

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

oliricha a écrit :

Bon, ben j'arrive pas à trouver une fonction PHP équivalente à "wget" sad

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...  tongue

@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

lothei a écrit :

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 smile (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 smile et je te jure que c'est assez chiant de mettre les accents quand tu n'as pas le clavier qui est fait pour tongue ...


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é... wink

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...