10/04/2009

Télécharger les Guignols de l’Info

Les Guignols de l'InfoMercredi, Canal+ a modifié son player en ligne qui permet de regarder les Guignols de l’Info. Avant, le fichier .FLV était transmis en HTTP et un simple plugin pour Firefox tel que Video DownloadHelper permettait d’attraper le d’adresse de ce fichier et le télécharger simplement.

Le nouveau player, en plus d’un détecteur d’Ad Block, exploite désormais le protocol RTMP pour récupérer la vidéo. Le RTMP, c’est le streaming façon Flash Player. Presque impossible à dumper, je n’ai trouvé que quelques logiciels payants sous Windaube qui en soient capables.

Mais apparemment Canal n’a pas revu son système de publication vidéo dans son entièreté, et on peut encore trouver des traces de l’ancien système : les vidéos sont toujours accessibles à leur adresse HTTP ! Voici comment l’exploiter.

Ca faisait presque deux semaines que je notais les adresses de téléchargement des épisodes des Guignols de l’Info, ce qui m’a permis d’en extraire le schéma :

23/03/09 : http://vod-flash.canalplus.fr/WWWPLUS/STREAMING/0903/LES_GUIGNOLS_QUOTIDIEN_090323_AUTO_2389_169_video_H.flv
24/03/09 : http://vod-flash.canalplus.fr/WWWPLUS/STREAMING/0903/LES_GUIGNOLS_QUOTIDIEN_090324_AUTO_2405_169_video_H.flv
25/03/09 : http://vod-flash.canalplus.fr/WWWPLUS/STREAMING/0903/LES_GUIGNOLS_QUOTIDIEN_090325_AUTO_2418_169_video_H.flv

JJ/MM/YY : http://vod-flash.canalplus.fr/WWWPLUS/STREAMING/YYMM/LES_GUIGNOLS_QUOTIDIEN_YYMMJJ_AUTO_XXXX_169_video_H.flv

La date du jour, c’est facile. J’avais juste un problème pour le code à 4 chiffres, qui ne peut pas être calculé simplement. Le seul truc qu’on peut remarquer c’est qu’il augmente d’émission en émission.

J’ai donc écrit un petit script bash qui essaye toutes les possibilités, jusqu’à ce qu’il trouve, après 15 essais généralement. Il stocke le dernier code utilisé dans le fichier LastCode de manière à ne pas repartir à zéro le jour suivant.

Sans argument, il récupère l’épisode de la veille. En lui donnant des arguments il est possible de récupèrer virtuellement n’importe quel épisode. Exemples :

$ ./GetGuignols.sh #Récupère l'épisode de la veille, en se basant sur le fichier LastCode
$ ./GetGuignols.sh 0 #Récupère l'épisode d'aujourd'hui, en se basant sur le fichier LatCode
$ ./GetGuignols.sh 3 2580 #Récupère l'épisode d'il y a 3 jours, en cherchant à partir du code 2580

Et ça donne ça :
Capture d'écran du script GetGuignolsTélécharger le script Bash. Comme d’habitude c’est distribué sous license GPL et j’ai très bien commenté le code. Je partage avec vous ce script parce que le savoir appartient à tout le monde ^_^, au risque que Canal+ bloque finalement le protocole HTTP.

Bon visionnage 😉

  1. Tycale
    | #1

    Sympa ça :)
    Merci ^^

  2. daniel
    | #2

    GENIAL! Je commençais à désespérer de ne pouvoir regarder les Guignols (au travail :-)). Merci à l’auteur.
    ps. j’ignorais qu’il y avait des détecteurs d’adblock. C’est dégueulasse comme procédé.

  3. | #3

    Bonjour,
    Merci pour ton travail merveilleux mais pourrais tu expliquer comment tu fais pour “notais les adresses de téléchargement des épisodes “, je n’y arrive pas. De plus lorsque j’éxecute le script bash j’arrive à ça :
    “* Désolé, nous n’avons pas pu trouver l’épisode des Guignols de l’Info du avec une clé comprise entre 2802 et 2902
    * Le fichier LastCode n’a pas été modifié.”
    en regardant de plus près je trouve aussi :”date: illegal time format”–> faut-il modifier le code source pour “l’adapter a mon systeme”(Terminal dans OS X) ou bien il manque quelquechose????
    MERCI,

  4. | #4

    Salut Guillaume,
    Déjà modifie le code ligne 34, inscris 2989. Je vais bientôt mettre une mise à jour en ligne.
    Ensuite pour le problème que tu signales sous MacOS, je t’avoue que je n’ai testé ce script que sous Linux. Regarde si tu obtiens la même chose que moi en tapant cette commande:

    $ date +%d/%m/%y --date "1 days ago"
    09/05/09

    N’hésite pas à nous rejoindre sur IRC, channel #geekfault sur irc.geeknode.org, un adaptation à Mac OS serait awesome 😀

  5. Jérémie
    | #5

    Idem, je suis sous Mac.

    Avez vous fait une adaptation ?

  6. | #6

    Salut Jérémie,
    Comme déjà dit à Guillaume, nous sommes intéressés par une adaptation de notre script à Mac OS mais n’avons pas de machine Apple sous la main pour le tester (sauf mon iPhone).
    Si tu as un peu de temps prends contact avec nous, on essayera ensemble de faire marcher ce script 😉

    IRC: #geekfault sur irc.geenode.org

  7. Jérémie
    | #7

    Ahhh, le temps je l’ai, c’est pas un problème. La machine non plus. Mais les compétences…
    Si vous voulez je veux bien tenter l’affaire, mais il faudra expliquer simplement. Je prends contact avec vous par mail.

  8. jeantube
    | #8

    salut

    le protocole http est bloquer.

    donc maintenant faut passer par ici: http://www.canalplus.fr/rest/bootstrap.php?/bigplayer/search/guignols

  9. | #9

    Oui merci j’ai vu ton message sur un autre blog 😉 Je suis en train de refaire un petit script sympatoche pour cette année!

  10. BestPig
    | #11

    J’arrive trop tard ^^

  11. Napster
    | #13

    Bonjour

    je suis débutant , s’il vous plait veuillez m’expliquer la méthode
    j’ai téléchargé tous les scripts et les autres trucs mais je ne sais pas comment m’en servir .
    je vous remercie infiniment

  1. | #1
  2. | #2