Python Quvi

Posté par (page perso) . Modéré par baud123. Licence CC by-sa
27
25
sept.
2011
Python

La bibliothèque Quvi permet d'analyser le contenu de plus de 40 sites de médias tels que YouTube, Dailymotion, Google Video... Cette bibliothèque fournit aussi un outil en ligne de commande, nommé « quvi » qui permet d'analyser et récupérer les informations de la page depuis un terminal.

Le projet Python-Quvi vise à permettre l'accès à cette API depuis Python.

Utiliser différents sites de médias pour y voir des vidéos streamées est aujourd'hui un acte récurrent et presque naturel. Mais bien souvent, devoir passer par un navigateur et devoir utiliser un greffon flash pour lire les vidéos... ce n'est pas forcément la panacée. Il existe déjà un programme fort intéressant, minitube, qui est une interface très pratique pour rechercher et voir des vidéos youtube. Un outil en ligne de commande nommé clive (et cclive) qui permet d'analyser et récupérer des liens de vidéo ainsi que les informations propres au média visé. La bibliothèque Quvi est utilisée dans ces deux projets. Elle permet, entre autre, via une API C, de récupérer les informations utiles pour lire les média (récupération de titre, durée, URL du média, URL de la page...)

Il existe déjà une API enveloppe pour Perl nommé WWW::Quvi. Autant dire qu'il manque donc encore pas mal de soutien pour avoir accès à cette API via d'autres langages. Python en fait partie. C'est donc le but du projet python-quvi, proposé par Patrice FERLET (oui, moi...). Le projet est à son stade le plus jeune mais permet déjà d'analyser et lire l'ensemble des informations d'une page de média.

Le développement est basé sur Cython, un sur-langage proche de python qui permet de remonter les fonctions de la bibliothèque codée en C vers une librairie compilé pour Python. La page propose deux exemples, dont un indiquant une méthode utilisant des threads.

Des retours d'expériences et de l'aide seront les bienvenus.

  • # Facile à étendre

    Posté par . Évalué à 3.

    À noter qu'il est assez facile de rajouter le support pour d'autres sites dans quvi. La documentation est très bien faite sur ce point, avec un tutorial pour montrer comment rajouter le support pour un site simple ou plus compliqué. Et vu la quantité de sites déjà supporté, il est également possible de s'inspirer du support déjà existants pour les autres sites.

  • # Weboob

    Posté par (page perso) . Évalué à 10.

    Comment se situe ce projet par rapport à Weboob ?

    Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

    • [^] # Re: Weboob

      Posté par . Évalué à 5.

      • Weboob supporte moins de sites
      • Weboob tend à supporter des interactions plus complexes avec les sites web afin de pouvoir implémenter des clients lourds génériques. Il a donc une architecture plus complexe et il est plus difficile d'implémenter un backend Weboob que de rajouter un site à Quvi.
      • Weboob fournit bien d'autres fonctionnalités que l'interaction avec des sites de vidéos (gestion de comptes en banques, passerelle vers des forums et sites de nouvelles, gestion de profil sur des sites de rencontre, etc.)
    • [^] # Miro

      Posté par (page perso) . Évalué à 2.

      Et par rapport à Miro ?

  • # arte ? pluzz ?

    Posté par (page perso) . Évalué à 2.

    tiens je viens de voir des scripts pour arte et pluzz dans le rep de quvi pourtant en ligne de commande, il me dit qu'il ne supporte pas du tout ces derniers.
    pourquoi ?

    • [^] # Re: arte ? pluzz ?

      Posté par (page perso) . Évalué à 1.

      chez moi ils y sont bien (je le découvre d'ailleurs, cool !):

       ~  quvi --category-all --support            
      ...
      pluzz.fr    default
      ...
      videos.arte.tv  default|best
      
      
      • [^] # Re: arte ? pluzz ?

        Posté par (page perso) . Évalué à 1.

        ah ba en fait c'est parce que je passe par cclive qui connait pas l'option --category-all

        faudra attendre quvi 0.2.20 si j'ai bien compris

  • # modifier le deuxième lien

    Posté par . Évalué à 2.

    quelqu'un peut modifier le second lien et le positionner à la vraie adresse ?

  • # typo

    Posté par (page perso) . Évalué à -1.

    Je suppose qu'il faut remplacer
    Le développement est basé sur Cython
    par
    Le développement est basé sur CPython

    Si il y a Pluzz et Arte, je suppose que l'on peut aussi essayer les autres replays des chaînes télés ?

    Speed dating is useless. 30s isn't long enough to explain the benefits of functional programming in Haskell

    • [^] # Re: typo

      Posté par (page perso) . Évalué à 5.

      Non, Cython existe bien.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: typo

      Posté par (page perso) . Évalué à 5.

      Comme le dit Xavier, Cython existe bien. J'ai d'ailleurs fait une petite présentation de Cython à cet adresse:
      Cython - Pour optimiser vos scripts

      C'est un "sur-langage" qui permet de faire des libraires compilées, j'ai préféré ce modèle que SWIG (que je trouve très puissant aussi). La raison de ce choix se trouve ici:
      Python-Quvi - Le choix Cython

      Voilà :)

  • # Oui, vu entre temps

    Posté par (page perso) . Évalué à 2.

    Donc acte.
    Je vais essayer ce soir cette libraire, beau projet, merci.

    Speed dating is useless. 30s isn't long enough to explain the benefits of functional programming in Haskell

    • [^] # Re: Oui, vu entre temps

      Posté par . Évalué à 3.

      "dont acte" est la formule finale consacrée, avant les signatures officielles, d’un acte juridique et se trouve être l’ellipse de "ce dont il est pris acte"

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.