Eiffel V, téléchargez vos vidéos

Eiffel V, téléchargez vos vidéos

structure classique (spip) ou complexe et sur-mesure (django), aozeo se charge de concevoir votre site Internet.

bénéficiez de notre savoir-faire dans la création de sites pour optimiser votre visibilité.

contactez-nous pour obtenir un devis gratuit !

Certes, ce blog ne connaît pas une activité débordante. Faisons abstraction : voici Eiffel V, un script graphique de téléchargement de vidéos qui tourne en local. Son boulot : récupérer tous les éléments vidéos d’une page et les proposer au téléchargement.

Quel avantage par rapport aux sites proposant ce service, type Keevid ?

  • Eiffel V s’exécute en local.
  • Eiffel V est libre (licence CeCILL).
  • Eiffel V gère les vidéos incluses sur des sites tiers.
  • Eiffel V est localisable.
  • Eiffel V est conçu de manière à ce que vous puissiez ajouter les sites dont vous avez besoin.
  • Eiffel V est en Python.
  • Je suis gentil.

Quel inconvénient ?

  • Eiffel V ne fonctionne pas sur Windows.
  • Eiffel V n’est pas inclus dans le navigateur.
  • Eiffel V a quelques dépendances : wxPython et BeautifulSoup.
  • Que ça ?
Téléchargement et installation

Téléchargez l’archive, décompressez, lancez eiffel.py, et ça devrait y être…

Que fait-il vraiment ?

Il gère Youtube, Dailymotion, Myspace, Metacafe, Google Vidéos, même avec un lecteur inclus sur une autre page, et les lecteurs FLV basiques genre celui de Neolao. Il repère les vidéos, vous demande lesquelles souhaitez-vous télécharger, puis s’en occupe. Si vous le lancez en ligne de commande avec une URL en argument, il démarre comme un grand. Si vous avez une idée de fonctionnalité supplémentaire, je suis preneur…

Ajouter un site de vidéos
  • Créez une classe avec pour nom la première partie du domaine du site, avec une majuscule, en la dérivant de la classe Site. Par exemple avec youtube.com, class Youtube(Site).
  • Créez une méthode _do, à laquelle sera passé l’élément dom, un objet BeautifulSoup. Faîtes-en ce que vous voulez pour obtenir l’URL du fichier FLV et son titre. Vous avez éventuellement accès à self.url qui est l’adresse de la page.
  • S’il n’y a pas de vidéo (vidéo rejetée, supprimée, etc.) sur la page, créez un évènement vide : self.evt = ParsingIsDone(videos = []). Sinon, créez celui-ci : self.evt = ParsingIsDone(videos = [Video(url_flv, titre)]). Puis ajoutez ces lignes à la fin de la méthode _do :
  1. if self.send_evt:
  2.      wx.PostEvent(prog.frame, self.evt)
  • Éventuellement, le site peut permettre à ses utilisateurs d’inclure son lecteur. Si vous désirez gérer ce cas, vous devez créer une méthode _in, à laquelle sera passé l’objet BeautifulSoup représentant l’<embed> ou l’<object> du lecteur flash_object, et la liste des vidéos déjà traitées done_urls. En effet, certains sites utilisent et embed et object, il faut ainsi éviter les doublons.
  • Tout d’abord, trouvez la véritable adresse de la vidéo, ou n’importe quel élément qui l’identifie à coup sûr et qui nécessite le moins de traitement. Vérifiez ensuite s’il se trouve dans done_urls :
  1. if url_trouvee in done_urls:
  2.     self.evt = ParsingIsDone(videos = [])
  3.     return

Puis ajoutez-le :

  1. done_urls.append(url_trouvee)
  • Enfin, trouvez l’adresse du fichier FLV et le titre de la vidéo, puis créez l’évènement : self.evt = ParsingIsDone(videos = [Video(url_flv, title)]). Attention, pas besoin de l’envoyer avec wx.PostEvent cette fois-ci.
  • Vous devez ensuite spécifier un élément qui sera caractéristique de votre site d’inclusion de vidéos, typiquement l’URL du lecteur Flash, que Eiffel V ira chercher dans le contenu des <embed> et des <object> de la page, comme http://lads.myspace.com/videos/vplayer.swf pour Myspace vids. Faîtes le en donnant à la classe un attribut embed_url, par exemple : Vids_myspace.embed_url = 'http://lads.myspace.com/videos/vplayer.swf'
  • Ajoutez votre nouvelle classe à la variable SITES.

Regardez les classes déjà présentes si vous avez besoin d’exemples, et envoyez-moi les vôtres (baptiste-at-aozeo_dot_com), que j’ajouterai à la prochaine version de Eiffel V :-) Merci pour les retours…

RéactionsRéactions

Ajoutez la votreAjoutez la votre

soky le 01 décembre 2007

Je cherche à télécharger une vidéo en streaming. J’ai l’autorisation de l’auteur mais je ne sais pas comment je pourrais la télécharger sur mon poste windowsien. Une idée ?

Baptiste le 05 décembre 2007

Attendre que Eiffel V soit porté sur Windows ? ;-)

paramoteur le 03 février 2008

Merci pour ce super script !

Scottish cottages le 27 février 2008

Intéressant. Mais je reste sur mes petites questions sympathiques :)

i-actualite le 22 mai 2008

lut, je cherche un programme qui permet de telecharger des vidéo, j’ai vue qu’ici sa a l’air d’etre le cas, mais le lien ne fonctionne plus apparament

j’ai déja tester un add on pour firefox mais sa ne fonctionne pas :s

rencontre le 22 juillet 2008

y’a aussi telechargeo qui existe http://www.telechargeo.com/ ;)

rencontre le 30 août 2008

Ah ça y est le lien remarche! merci

le 26 novembre 07.