Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

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.

#51 Le 05/05/2014, à 20:43

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Je précise quand même que le titre du sujet est "Télécharger les vidéos Pluzz sous 14.04" ! (donc à la limite 12.04 ok, mais 6.06, vu que ce n'est plus mis à jour...)
@ecforum: Sous quelle version d'ubuntu est-tu? Peut-être n'as tu pas avconf, dans ce cas il faut le remplacer à la ligne 89 par ffmpeg dans le script bash. La version 0.2 permettra ce changement, pour les versions inf à 14.04

Et il faudrait que l'édit s'efface quand on clique dedans

Bonne idée, je vais étudier ça.

@matthieugoua: La version 2 plante encore sad

guillaume@guillaume-m2n:~/.dPluzz$ ./pluzz.sh http://pluzz.francetv.fr/videos/infrarouge_,101158590.html
++ pwd
+ BASEPATH=/home/guillaume/.dPluzz
+ getopts hvu: opt
+ shift 0
+ '[' -z ']'
+ URL=http://pluzz.francetv.fr/videos/infrarouge_,101158590.html
+ VERT='\033[0;32m'
+ ROUGE='\033[7;0;31m'
+ ROSE='\033[0;35m'
+ BLEU='\033[1;34m'
+ JAUNE='\033[0;33m'
+ NORMAL='\033[0;39m'
++ which ffmpeg
++ wc -l
+ FFORAV=1
+ '[' 1 -ge 1 ']'
+ ENCODEUR=ffmpeg
+ echo -e '\033[0;32mDEBUT DU TRAITEMENT\033[0;39m'
DEBUT DU TRAITEMENT
++ echo http://pluzz.francetv.fr/videos/infrarouge_,101158590.html
++ grep -Eo '[0-9]+.html'
++ sed 's/\.html//g'                                                                                                                   
+ ID=101158590                                                                                                                         
+ echo -e '\033[0;35m-->RECUPERATION DU JSON\033[0;39m'                                                                                
-->RECUPERATION DU JSON                                                                                                                
+ wget 'http://webservices.francetelevisions.fr/tools/getInfosOeuvre/v2/?idDiffusion=101158590&catalogue=Pluzz&callback=webserviceCallback_101158590' -O 101158590.json                                                                                                       
+ echo -e '\033[1;34m-->NETTOYAGE DU JSON\033[0;39m'
-->NETTOYAGE DU JSON
+ cat 101158590.json
+ sed 's/(//g'
+ sed 's/)//g'
+ sed s/webserviceCallback_101158590//g
+ rm 101158590.json
+ mv 101158590V2.json 101158590.json
+ echo -e '\033[0;35m-->TRAITEMENT DU JSON\033[0;39m'
-->TRAITEMENT DU JSON
++ cat 101158590.json
++ sed 's/\\//g'
++ grep -Eo '[0-9]{2}/[0-9]{2}/[0-9]{4}'
++ sed 's/\///g'
+ DATE=30042014
++ cat 101158590.json
++ sed 's/\\//g'
++ grep -Eo '"code_programme":"[^"]+'
++ sed 's/\"code_programme\":\"//g'
+ PROG=infrarouge
++ cat 101158590.json
++ sed 's/\\//g'
++ grep -Eo '"url":"[^"]+'
++ sed 's/\"url\":\"//g'
++ grep m3u8
+ M3U=http://ftvodhdsecz-f.akamaihd.net/i/streaming-adaptatif_france-dom-tom/2014/S18/J2/101158590-20140429-,398,632,934,k.mp4.csmil/master.m3u8
+ echo -e '\033[1;34m-->RECUPERATION DU FICHIER VIDEO\033[0;39m'
-->RECUPERATION DU FICHIER VIDEO
+ echo ''

+ echo -e '\033[0;35m-->TANSFORMATION EN MKV\033[0;39m'
-->TANSFORMATION EN MKV
+ ffmpeg -v 0 -i http://ftvodhdsecz-f.akamaihd.net/i/streaming-adaptatif_france-dom-tom/2014/S18/J2/101158590-20140429-,398,632,934,k.mp4.csmil/master.m3u8 -vcodec copy -acodec copy infrarouge_30042014.mkv
File 'infrarouge_30042014.mkv' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press ctrl-c to stop encoding
+ rm 101158590.json
+ echo -e '\033[7;0;31mFIN DU TRAITEMENT\033[0;39m'
FIN DU TRAITEMENT
+ echo -e '\033[0;33mVotre Fichier Final Est :\033[0;39m'
Votre Fichier Final Est :
+ echo -e '\033[0;32minfrarouge_30042014.mkv\033[0;39m'
infrarouge_30042014.mkv

Dernière modification par Gaara (Le 05/05/2014, à 20:49)


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#52 Le 05/05/2014, à 22:35

ecforum

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

@Gaara
Ca marche ; c'était ffmpeg. J'avais juste essayé sans chercher.
Et je ne suis pas sous ubuntu.

@matthieugoua
Contrairement à Gaara, chez moi les 3 versions des scripts marchent.

Hors ligne

#53 Le 06/05/2014, à 10:32

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Mise à jour: dPluzz v0.1.1

-> Ajout du bouton "utiliser ffmpeg"
-> Modification du champ de l'adresse.
-> Placement de la fenêtre principale au centre de l'affichage.

Edit: j'ai aussi modifié le post #1 !

Dernière modification par Gaara (Le 06/05/2014, à 11:11)


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#54 Le 09/05/2014, à 08:16

Tibagogo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Bonjour,

J'ai installé la dernière version du script (0.1.1). Ça fonctionne en graphique et en ligne de commande, cependant les 10 premières secondes (environ) sont coupées, alors qu'avec le script de matthieugoua la vidéo est chargée dans son intégralité...
J'utilise Kubuntu 12.04, donc ffmpeg... Le problème vient peut être de là ??
J'ai constaté le problème sur les vidéos suivantes : http://pluzz.francetv.fr/recherche?recherche=Yakari ou http://pluzz.francetv.fr/videos/coluche … _etat.html

En tout cas, merci pour votre super boulot et votre grande réactivité après les changements de pluzz !

Hors ligne

#55 Le 09/05/2014, à 09:51

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Bonjour,
Effectivement l'utilisation de ffmpeg du script de melixgaro coupe les premières secondes de la vidéo. Bug confirmé !
J'utilise le script tel quel, et je ne saurais pas le corriger. L'avantage de sa version c'est qu'il n'y ait aucune dépendance. Surtout, tous les liens sont acceptés !
J'en profite pour publier la version 0.2 de la partie graphique: dPluzz v2.0

-> Ajout d'un bouton pour le dossier de destination
-> Ajout de quelques messages pratiques, comme la fermeture du script à la fin du téléchargement
-> Correction de quelques bugs minimes

La version 0.3 est en cours, elle intégrera la fenêtre bash dans la fenêtre principale.

Dernière modification par Gaara (Le 09/05/2014, à 10:02)


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#56 Le 09/05/2014, à 20:42

zmo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Hello,

suite à la question de Guillaume sur Stack Overflow, j'ai passé une à
deux heures aujourd'hui à réimplémenter en python3 le script bash, et
j'ai refait l'interface graphique avec pyqt5.

j'espère que ça vous plaira, et que vous m'en voudrez pas trop d'avoir
tout refait :-)

Pour lancer l'interface graphique il faut lancer le script avec `--gui`.sinon pour recuperer un film il suffit d'executer:

pluzz.py http://pluzz.francetv.fr/videos/coluche … _etat.html

voici les URL de référence:

- le code: https://gist.github.com/guyzmo/3b18193d6bea07bac37c
- la question: http://stackoverflow.com/questions/23562651

et voilà un screenshot:

pypluz

pour installer les dependances:

pip3 install PyQtX
pip3 install lxml
pip3 install requests
pip3 install docopt

ou

apt-get install python3-lxml python3-requests
pip3 install PyQtX
pip3 install lxml

en matiere de todo, il y a tout a fait moyen d'ameliorer l'app pour la faire afficher les metadonnees du film... Puis ensuite d'etrendre le tout pour faire un navigateur de contenu du site pluzz...

HTH!

Dernière modification par zmo (Le 09/05/2014, à 20:55)

Hors ligne

#57 Le 10/05/2014, à 04:21

cqfd93

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Bonjour,

Gaara a écrit :

Bonjour,
Effectivement l'utilisation de ffmpeg du script de melixgaro coupe les premières secondes de la vidéo. Bug confirmé !
J'utilise le script tel quel, et je ne saurais pas le corriger. L'avantage de sa version c'est qu'il n'y ait aucune dépendance. Surtout, tous les liens sont acceptés !
J'en profite pour publier la version 0.2 de la partie graphique: dPluzz v2.0

-> Ajout d'un bouton pour le dossier de destination
-> Ajout de quelques messages pratiques, comme la fermeture du script à la fin du téléchargement
-> Correction de quelques bugs minimes

La version 0.3 est en cours, elle intégrera la fenêtre bash dans la fenêtre principale.

Ça marche super chez moi (Ubuntu 12.04 avec avconf).  Un grand merci !!!

Hors ligne

#58 Le 10/05/2014, à 09:24

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

@cqfd93: Merci du retour ! smile Je ne savais pas que avconv était disponible sous 12.04. C'est installé par défaut ?

@zmo: J'ai vu ta réponse sur Stack, mais rien n'a fonctionné... En fait, le but c'est de mixer un script bash et un script python, car Pluzz change souvent de méthode sur leur site. Donc si un nouveau script bash est écrit, (le bash est très fréquent ici) l'ancien pourra être facilement remplacé, sans réécrire la partie graphique. Le tout avec le moins de dépendances possibles, pour faciliter l'installation.

J'ai essayé ton script: la fenêtre s'affiche, mais j'obtiens ces erreurs:

~/work/gist3b18193d6bea07bac37c-1197f99865515877ca06cbe8e7bdc1e0c74f407d$ python3 pluzz.py --gui
Using PyQt4
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python3: ../../src/xcb_io.c :179 : dequeue_pending_request:  l'assertion « !xcb_xlib_unknown_req_in_deq » a échoué.
Abandon (core dumped)

Je pense qu'il y a beaucoup de soucis avec ibus dans les noyaux de 14.04 ces temps-ci.


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#59 Le 10/05/2014, à 21:34

fakbill

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Le script python marche bien sauf un tout petit bug:
Sur ma machine ~/Downloads n'existe pas.
Si je lance ./pluzz.py http://pluzz.francetv.fr/videos/on_n_es … obayes.htm
j'obtiens :
"Download and convertion done: '/home/xxx/Downloads/on_n_est_pas_que_des_cobayes_101508178.mkv' saved"
alors que non, le répertorie "/home/xxx/Downloads/" n'existe même pas.

Là où c'est étrange c'est que si je change
def save(self, target_path="~/Downloads",
en
def save(self, target_path=".",
ça ne change rien \o/. Il m'affiche toujours :
"Download and convertion done: '/home/xxxx/Downloads/on_n_est_pas_que_des_cobayes_101508178.mkv' saved"

N'étant pas en france en ce moment, je dois faire tourner le script en ssh sur un tout petit serveur donc je n'ai que des moyens de debug très très limité....mais même...je dois rater qqch d'énorme...d'où vient le "Downloads"?????

Hors ligne

#60 Le 10/05/2014, à 21:49

cqfd93

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Bonsoir,

Gaara a écrit :

@cqfd93: Merci du retour ! smile Je ne savais pas que avconv était disponible sous 12.04. C'est installé par défaut ?

Non, mais il y a un bout de temps que j'ai remplacé ffmpeg par avconv.

Hors ligne

#61 Le 11/05/2014, à 17:16

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Une nouvelle version de dPluzz est dispo: dPluzz v0.2.1

-> xterm n'est plus utilisé
-> le terminal est intégré dans la fenêtre principale

Il faut installer une nouvelle dépendance: python-vte

sudo apt-get install python-vte

L'avantage c'est que tout est rassemblé dans la fenêtre principale, c'est plus clair. Soit, c'est pas vraiment plus beau... roll
mini_999329dPluzz2.jpg

Je n'ai pas trouvé pour changer la couleur du fond noir en blanc, en Gtk2 !
Sinon, si quelqu'un veut une fonction pour se souvenir du dossier de réception, c'est faisable ! smile


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#62 Le 11/05/2014, à 17:33

melixgaro

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

à Gaara
Whaouh, c'est plutôt joli et sobre.
Écriture blanche sur fond noire est le mieux, je pense, pour le confort de lecture.

Dernière modification par melixgaro (Le 11/05/2014, à 17:46)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#63 Le 11/05/2014, à 17:48

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Merci, je laisse comme ça alors.
Maintenant s'il y a des améliorations, ce sera gadget, car le principal y est.  Mais c'est pas impossible que j'améliore! ^^
Reste à trouver des choses intéressantes à télécharger cool

A propos, je pensais aussi à intégrer le script de nesthib, pour C+, avec un choix entre Pluzz et C+
J'ai pas encore étudié la question !


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#64 Le 11/05/2014, à 21:26

Tibagogo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Bonsoir,

Je viens de vérifier, en fait sous 12.04 avconv est disponible dans le paquet libav-tools, je l'avais sans le savoir mais j'avais coché la case ffmpeg...
Je viens donc de tester la version 0.2.1 sans cocher, donc avec avconv, ce qui est confirmé dans le terminale, cependant les premières secondes sont toujours coupées. Le bug touche-t-il aussi avconv, ou cela vient-il de moi ?

Autre petite question, dans le script de matthieugoua, la progression était indiquée :

-->RECUPERATION DU FICHIER VIDEO
25/74

Est-ce faisable (et facile) d'ajouter un indicateur quelconque de progression, peut être "simplement" le nombre total de frames (si il est possible de le déterminer...) ou le poids total (peu importe ! )

Encore merci pour votre travail.

Hors ligne

#65 Le 12/05/2014, à 07:22

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Chez moi les premières secondes sont coupées si j'utilise ffmpeg. Avec avconv, j'ai tout le début. Peut-être la version de libav-tools ? (j'ai 6.9.13)
Pour la progression, je veux bien essayer, je peux récupérer les données du terminal. Mais je n'ai pas le poids total de la vidéo téléchargée, il faudrait ajouter (modifier?) quelque chose dans le script bash de melixgaro.
Je ne peux pas essayer d'intégrer le script de matthieugoua, car il ne fonctionne pas chez moi. Mais tu peux essayer, il faut simplement modifier la ligne 63 de mon script:

Edit: J'ai repris la version 1.0 du script de matthieugoua, qui marche bien. (avec toutes les dépendances installées et l'adresse avec l'ID en chiffres)
Il faut simplement remplacer le pluzz.sh de melixgaro par cette version, tu auras le petit compteur:
658369dPluzz3.jpg

Mais je préfère rester sur la version sans dépendances, pour que ça soit plus facile à installer et à utiliser.
Si quelqu'un trouve comment faire pour récupérer le poids total de la vidéo et modifier le script de melixgaro, je suis preneur ! smile

Dernière modification par Gaara (Le 12/05/2014, à 14:14)


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#66 Le 12/05/2014, à 14:19

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Édition du message précédant...  ...et appel à contribution pour un dev bash ! wink
Edit de l'édit: j'ai trouvé une solution sans modifier pluzz.sh

Dernière modification par Gaara (Le 12/05/2014, à 19:50)


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#67 Le 12/05/2014, à 21:12

Tibagogo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Effectivement libav-tools est en version 0.8.10 pour moi !

Gaara a écrit :

Il faut simplement remplacer le pluzz.sh de melixgaro par cette version, tu auras le petit compteur

oui, ça permet d'avoir le gui et ça fonctionne bien !

Gaara a écrit :

Si quelqu'un trouve comment faire pour récupérer le poids total de la vidéo et modifier le script de melixgaro, je suis preneur !

Désolé, je n'ai pas les compétences pour t'aider :-(

Hors ligne

#68 Le 13/05/2014, à 10:20

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Nouvelle version: dPluzz v0.3, avec le script de melixgaro non modifié.

-> Ajout d'une barre de progression
-> Désactivation de la case ffmpeg lorsque le téléchargement est en cours
-> Changement de la position du bouton quitter

mini_681690dPluzz4.jpg


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#69 Le 13/05/2014, à 21:13

zmo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

fakbill a écrit :

Le script python marche bien sauf un tout petit bug:
Sur ma machine ~/Downloads n'existe pas.
Si je lance ./pluzz.py http://pluzz.francetv.fr/videos/on_n_es … obayes.htm
j'obtiens :
"Download and convertion done: '/home/xxx/Downloads/on_n_est_pas_que_des_cobayes_101508178.mkv' saved"
alors que non, le répertorie "/home/xxx/Downloads/" n'existe même pas.

je pensais avoir mis un check dans le code qui vérifiait l'existence du répertoire, mais en fait non :-) Le script est
mis à jour sur le gist.

Là où c'est étrange c'est que si je change
def save(self, target_path="~/Downloads",
en
def save(self, target_path=".",
ça ne change rien \o/. Il m'affiche toujours :
"Download and convertion done: '/home/xxxx/Downloads/on_n_est_pas_que_des_cobayes_101508178.mkv' saved"
N'étant pas en france en ce moment, je dois faire tourner le script en ssh sur un tout petit serveur donc je n'ai que des moyens de debug très très limité....mais même...je dois rater qqch d'énorme...d'où vient le "Downloads"?????

c'est parce que le default vient en fait de tout en haut du script dans la documentation docopt: [defaults: ~/Downloads]

cf http://docopt.org

il existe aussi une commande pour l'ajouter aux scripts bash. c'est vraiment chouette comme module ! ;-)

Hors ligne

#70 Le 13/05/2014, à 21:27

zmo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

Gaara a écrit :

@cqfd93: Merci du retour ! smile Je ne savais pas que avconv était disponible sous 12.04. C'est installé par défaut ?

@zmo: J'ai vu ta réponse sur Stack, mais rien n'a fonctionné... En fait, le but c'est de mixer un script bash et un script python, car Pluzz change souvent de méthode sur leur site. Donc si un nouveau script bash est écrit, (le bash est très fréquent ici) l'ancien pourra être facilement remplacé, sans réécrire la partie graphique. Le tout avec le moins de dépendances possibles, pour faciliter l'installation.

sauf que c'est une mauvaise idée de faire du web scrapping avec des regexps, pour un problème de théorie du langage: les pages webs sont écrites en HTML qui est un langage dont la grammaire est dite non contextuelle, alors que les expressions régulières ont une grammaire régulière. cf http://fr.wikipedia.org/wiki/Hiérarchie_de_Chomsky pour les détails plus théoriques. Mais en gros, c'est comme vouloir faire un concours de haute voltige… avec une voiture. Il y a une dimension dans laquelle la voiture ne pourra pas s'exprimer.

C'est pour ça qu'il vaut mieux utiliser les outils adequats. Il y a lxml que j'utilise dans le code en copie, ainsi que dans ma réponse sur stack overflow qui permet de naviguer dans l'arborescence de la page web à la recherche de tags en fonction de leur nom de classe, de leurs attributs voire même de leur positions relatives les uns par rapport aux autres. Ce qui fait qu'il y a moins de ligne et moins de complexité à modifier le code que j'offre qu'à réécrire des regexps. Et il se peut même qu'il soit moins souvent nécessaire de modifier le code qu'avec les regexps, étant donné que des modifications mineures de format peuvent faire planter les regexps, alors que le schema du document n'a pas changé.

De plus, toute la complexité du webscraping se résume à cette méthode:

    def retrieve_data(self):
        p = etree.HTML(requests.get(self.url, headers=self.headers).text)
        self.show_id = p.xpath('//meta[@property="og:url"]/@content')[0].split(',')[-1].split('.')[0]
        self.data = json.loads("".join(requests.get(self.data_url.format(show=self.show_id), headers=self.headers).text.split('(')[1:])[:-1])

qui récupère le contenu de la propriété meta og:url, puis la découpe en morceaux à chaque virgule, ne garde que le dernier morceau ; découpe ce dernier à chaque point, et garde le premier morceau. Ensuite, il récupère le JSON en provenance de l'API de francetv, en retirant les morceaux qui ne sont pas du JSON standard.

Ensuite, on accède directement aux valeurs du JSON directement en python. D'ailleurs, en extension, il serait facile d'ajouter les métadonnées du programme, comme sur la page "officielle", voire même transformer le petit programme en application ressemblant à netflix ou popcorntime pour ceux qui connaissent.

Gaara a écrit :

@cqfd93:
J'ai essayé ton script: la fenêtre s'affiche, mais j'obtiens ces erreurs:

~/work/gist3b18193d6bea07bac37c-1197f99865515877ca06cbe8e7bdc1e0c74f407d$ python3 pluzz.py --gui
Using PyQt4
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python3: ../../src/xcb_io.c :179 : dequeue_pending_request:  l'assertion « !xcb_xlib_unknown_req_in_deq » a échoué.
Abandon (core dumped)

Je pense qu'il y a beaucoup de soucis avec ibus dans les noyaux de 14.04 ces temps-ci.

Uhuh… n'étant pas sous ubuntu je ne peux aider. Je n'ai pas ce drôle d'oiseau qu'est ibus d'installé sur mes machines. mais surtout j'ai l'impression que t'as d'autres problèmes liés à ton Xorg.

Dernière modification par zmo (Le 13/05/2014, à 21:38)

Hors ligne

#71 Le 13/05/2014, à 23:02

melixgaro

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

merci zmo pour le petit blabla sur la théorie du langage. Intéressant.
Je suis d'accord avec toi. Il est plus propre d'utiliser un outil dédié pour l'analyse de la page html, xml, json ou autre. Mais dans mon cas, le bash est presque ma langue maternelle comparée au python. Comme les gens s'impatientaient smile, j'ai voulu satisfaire tout le monde avec un script bash vite fait bien fait.
Si on veut faire des choses plus sophistiquées, le python est tout indiqué ; c'est sûr.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#72 Le 13/05/2014, à 23:06

melixgaro

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

oh mon Dieu, J'ai regardé l'article wiki sur la hiérarchie de Chomsky. J'ai ouvert une boîte de Pandore. Il me faudra un après-midi pour creuser la question. En plus l'article n'est pas très abordable par un néophyte ; d'ailleurs la page de discussion est longue comme un bras. Bon, un truc de plus dans la liste de chose à faire wink


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#73 Le 13/05/2014, à 23:34

melixgaro

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

à Gaara
Merci pour la nouvelle version.
J'étais curieux de voir comment tu récupère la progression. J'ai enfin trouvé un moment pour regarder ton code. Voici les retours :

1/ chez moi, la progression ne marche pas. Testé avec http://pluzz.francetv.fr/videos/sera_in … 76728.html, ça passe de suite à 100%. La vidéo est bien obtenue dans sa totalité. Mon xubuntu est an anglais, mais je ne crois pas que ça change le blabla d'avconv.
2/ est-ce que le dernier répertoire de destination est utilisée par défaut ? Ce serait bon de préremplir le champ avec la dernière valeur. Mais ça implique de mettre en cache des données quelque part.
3/ lors de mes tests, je relançais plusieurs fois de suite le téléchargement. Dans la fenêtre de log, avconv me demande si je veux écraser ou pas. Et je me suis aperçu que c'est un pseudo-terminal, pas simplement une fenêtre de visualisation. Là je disais oui. La vidéo est rapatriée. Et quand c'est fini, la fenêtre de dPluzz, me demandant d'écraser ou pas le fichier existant, apparaît. Je réponds oui et la vidéo est supprimée mais pas retéléchargeé. J'espère que mon blabla est clair, je commence à beuguer big_smile

Sinon, c'est bien et le code python est clair !

Dernière modification par melixgaro (Le 13/05/2014, à 23:35)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#74 Le 14/05/2014, à 01:54

zmo

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

bon, j'ai fait quelques updates sur le code:

* Tout d'abord, j'ai ajouté un test pour vérifier que le répertoire cible existe bien.
* J'ai ajouté aussi une traduction en français, si vous avez LANGUAGE=fr_FR@UTF-8 les messages seront en français
   * N.B.: seul le message d'aide est resté non-traduit
   * j'ai aussi fait ça pour vous, vu qu'on est sur ubuntu-fr ;-)
* j'ai séparé l'interface graphique du code principal
* j'ai changé l'interface en ligne de commande
* j'ai ajouté une erreur pour ceux qui lanceraient le package sous python2

pypluzz gui                                                            lance l'interface graphique
pypluzz http://pluzz.francetv.fr/videos/doctor_who.html fetch          récupère l'émission
pypluzz http://pluzz.francetv.fr/videos/doctor_who.html get            liste les métadonnées
pypluzz http://pluzz.francetv.fr/videos/doctor_who.html get synopsis   récupère une métadonnée
pypluzz http://pluzz.francetv.fr/videos/doctor_who.html show           fait un sommaire de l'émission

ensuite, j'ai créé un dépôt github:

* https://github.com/guyzmo/pypluzz

et j'ai uploadé sur pypi:

* http://pypi.python.org/pypluzz

donc pour l'installer, maintenant c'est tout simple:

    apt-get install python3-pip
    pip3 install pypluzz # (ou pip-3.2/pip-3.4 selon votre version de python3)

pour avoir l'interface graphique, il faut installer `pyqt4` ou `pyqt5`.
Sinon c'est pas grave, ça marche quand même en ligne de commande

Enfin, pour ceux qui veulent continuer à l'utiliser, n'hésitez pas à ouvrir des tickets
sur github, notamment si jamais vous remarquez avant moi que le site pluzz a encore changé,
et que le code ne marche plus.

En appel à contributions, s'il y a des gens qui peuvent trouver s'il y a une API du même
genre que:

http://webservices.francetelevisions.fr/tools/getInfosOeuvre/v2/?idDiffusion={show}&catalogue=Pluzz&callback=webserviceCallback_{show}

qui permette de lister toutes les émissions par catégorie/chaîne etc… Ça me permettrait
de faire une super évolution du code :-)

Dernière modification par zmo (Le 14/05/2014, à 02:11)

Hors ligne

#75 Le 14/05/2014, à 09:11

Gaara

Re : [dPluzz+] Télécharger les vidéos Pluzz, C+ et TNT sous Ubuntu

melixgaro a écrit :

J'étais curieux de voir comment tu récupère la progression. J'ai enfin trouvé un moment pour regarder ton code. Voici les retours :

1/ chez moi, la progression ne marche pas. Testé avec http://pluzz.francetv.fr/videos/sera_in … 76728.html, ça passe de suite à 100%. La vidéo est bien obtenue dans sa totalité. Mon xubuntu est an anglais, mais je ne crois pas que ça change le blabla d'avconv.
2/ est-ce que le dernier répertoire de destination est utilisée par défaut ? Ce serait bon de préremplir le champ avec la dernière valeur. Mais ça implique de mettre en cache des données quelque part.
3/ lors de mes tests, je relançais plusieurs fois de suite le téléchargement. Dans la fenêtre de log, avconv me demande si je veux écraser ou pas. Et je me suis aperçu que c'est un pseudo-terminal, pas simplement une fenêtre de visualisation. Là je disais oui. La vidéo est rapatriée. Et quand c'est fini, la fenêtre de dPluzz, me demandant d'écraser ou pas le fichier existant, apparaît. Je réponds oui et la vidéo est supprimée mais pas retéléchargeé. J'espère que mon blabla est clair, je commence à beuguer big_smile

Je ne fais que récupérer les données du temps pour la progression. Au début du script bash, je reprend "Duration: 01:01:38.00" par exemple. Je convertis tout ça en secondes, et je compare avec "time=" lors du téléchargement.
Une règle de 3, et c'est parti.
1/ La méthode de récupération de "time=" était un peu aléatoire (en repérant les espaces). S'il y avait une erreur, (par exemple à la fin du téléchargement), le % était mis à 100 d'office avec une exception. J'ai changé la méthode d'extraction(en repérant "time=" et bitrate=" pour prendre le chiffre entre les deux), ça devrait être mieux. Ce qui est bizarre, c'est que ça marche chez moi, avec l'adresse que tu m'as donné...
2/ Oui, je pensais aussi faire une sauvegarde du répertoire utilisé, mais j'ai préféré explorer d'autres fonctionnalités avant de mettre ça en place. Ça oblige en effet de créer un fichier .conf (à moins qu'il y ait un moyen d'écrire directement dans le script !! tongue) Ce sera implémenté dans la v0.4, avec l'activation de la case ffmpeg par défaut.
3/ Ça a été tout mon problème, d'obtenir une fenêtre bash interactive, pour justement pouvoir répondre à cette question: "File 'machin' already exist. Overwrite ? y/N" !! Mais c'est fait.
Après, la vidéo se télécharge dans le répertoire source, pas le choix. Ensuite, pour ne pas créer de doublon, le fichier se déplace dans le répertoire demandé. Mais si le fichier existe déjà, je demande s'il faut écraser le fichier déjà là. Mais cette question ne demande pas s'il faut retélécharger ! Mais bon tu as raison, cette question ne sert pas à grand chose. Je viens de voir que si on retélécharge la même émission sa semaine suivante, le nom du fichier change.

Donc voilà, c'est corrigé: dPluzz v0.3.1

-> Correction du bug de la barre de progression
-> La case ffmpeg se réactive à la fin du téléchargement

Dernière modification par Gaara (Le 14/05/2014, à 10:29)


Kubuntu 15.10 x64
Diskio Pi, une tablette de prototypage pour RPi 2/3
Téléchargement de vidéo Pluzz et C+
                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne