Merci pour ce journal qui m'évoque de bons souvenirs ; crois moi que tu as bien fait de ne pas citer explicitement les sites que tu tentes de démerdifier.
Puppeteer est lourd car il lance un navigateur complet, qu'il pilote. Mais nécessaire quand il faut exécuter le javacript pour construire le DOM. Cependant, le DOM est bien reconstitué à partir de données et souvent, c'est par une requête à un document JSON. Et dans ce cas il suffit de parser le JSON. On démerdifie un max.
D'ailleurs Puppeteer, à la base, n'est pas conçu pour faire du scraping - l'outil de la démerdification - mais pour faire des tests d'UI.
Pour ma part, je m'en suis presque toujours sorti avec curl url/to/json | jq '.path' ou curl utl/to/html | pup 'selector' ou une combinaison des deux. Pour quelques cas, j'avoue, l'enchaînement de requêtes est tellement compliqué que les reconstituer dans un script serait ingérable et là un puppeteer peut sauver le coup.
Je ne peux pas dire si cela suffirait dans ton cas car tu cites pas les sites à démerdifier et tu as bien raison.
j'étais pas sur de devoir modifier mon code, mais si, il faut url -ncoder le texte. J'ai aussi ajouter le fait de supprimer le fragment existant si il y a déjà un.
oui, ça peut servir pour utiliser une version patchée d'une extension existante : DL le .xpi, dezip quelquepart, modifie le code et load dans la page debug.
Le lien hypertexte (<a href="...">) c'est un peu l'essence du web.
Mais ça a une limite, on ne peut faire un lien que vers le document entier, pas un contenu en particulier.
Il existe depuis longtemps le fragment (URL#text-id) mais il suppose que l'auteur du document ait mis des identifiants sur les sections ; à part sur wikipedia (mediawiki), je ne le vois pas souvent.
Avec cette nouvelle fonctionnalité "text fragment" (#:~:text=), on peut créer des liens vers un morceau de texte arbitraire. Bon je trouve la syntaxe un peu complexe et j'aurai préférer pouvoir faire un lien vers un "css-selector", beaucoup plus prédictible et dont la syntaxe est connue.
C'est vrai que si tu ne connaissais pas le truc avant, ça peut surprendre.
Valeurs actuelles ne parlent pas de valeurs actuelles, mais rétrograde, tout comme la Manif pour tous n'était pas en fait pour tous mais que pour les gens qui ont des "Valeurs actuelles".
J'ai essayé -tune stillimage. Cela ne change pas le résultat - qualité et taille. Cependant, comme on donne à ffmpeg des images statiques en entrée, il applique peut être déjà cette optimisation par défaut dans ce cas.
My bad, j'ai refait l'encodage en libx64 au lieu de mpeg4 et ça prend maintenant 3 minutes mais surtout ça produit un fichier de 16MB avec une qualité top.
Obtenir les images de slides n'est pas un soucis mais merci pour l'astuce.
Par contre l'idée d'utiliser openshot est une bonne piste.
Les projets openshot sont sauvegardés en json et Openshot lui même peut être invoqué en ligne de commande ; à tester si on peut demander le rendu final de cette façon. Il serait alors possible de templatiser le json pour y placer les images, leurs durées, des transitions, et la bande son.
Et cela rejoint un peu le commentaire plus haut : un format vidéo c'est déjà à peu près ce que je recherche.
C'est peut être un chouia moins optimisé que juste images+son mais on doit sur un très bon Pareto.
J'ai eu un peu cette intuition aussi, en y réfléchissant : chaque slide serait finalement une "key frame" (je ne me rappelle plus le terme consacré…) qu'on étire le temps de la narration sur ce slide.
Adobe/Flash repose au cimetière aux côtés de Sun/JavaApplet et MS/Sylverlight ; replacées par les technologies web : HTML + CSS + JS et toutes les API qui vont avec : WebGL, WebRTC, Canvas
Ce sont des technologies pour construire des applications - un lecteur de vidéo en serait une - mais pas des formats.
Le plus important étant la deuxième ligne - on fait un POST - et la dernière qui donne le format des informations attendue.
En jouant cette commande telle quelle dans un terminal, on retrouve le même résultat que dans le navigateur.
Après, on peut s'amuser à enlever les lignes d'entête (-H) qui paraissent inutiles jusqu'à ce que cela ne marche plus. On peut aussi combiner deux requêtes pour récupérer des cookies si nécessaire. Mais la base est là.
J'ajouterai Grub ne sais pas booter sur une partition chiffré.
Ce qui ne doit pas être complétement vrai car il me semble avoir vu un tuto pour le faire.
Quoi qu'il en soit, ce n'est pas nativement prévu dans l'installer Debian ; alors que le chiffrement de "/" l'est.
[^] # Re: There was an error
Posté par steph1978 . En réponse au journal support des "Text fragments" dans Firefox. Évalué à 2.
il faut que du texte soit sélectionné ; le fameux "contexte" dans "menu contextuel" :)
# brique ou marteau
Posté par steph1978 . En réponse au journal Demerdification de prévisions météo avec Puppeteer. Évalué à 5.
Merci pour ce journal qui m'évoque de bons souvenirs ; crois moi que tu as bien fait de ne pas citer explicitement les sites que tu tentes de démerdifier.
Puppeteer est lourd car il lance un navigateur complet, qu'il pilote. Mais nécessaire quand il faut exécuter le javacript pour construire le DOM. Cependant, le DOM est bien reconstitué à partir de données et souvent, c'est par une requête à un document JSON. Et dans ce cas il suffit de parser le JSON. On démerdifie un max.
D'ailleurs Puppeteer, à la base, n'est pas conçu pour faire du scraping - l'outil de la démerdification - mais pour faire des tests d'UI.
Pour ma part, je m'en suis presque toujours sorti avec
curl url/to/json | jq '.path'
oucurl utl/to/html | pup 'selector'
ou une combinaison des deux. Pour quelques cas, j'avoue, l'enchaînement de requêtes est tellement compliqué que les reconstituer dans un script serait ingérable et là un puppeteer peut sauver le coup.Je ne peux pas dire si cela suffirait dans ton cas car tu cites pas les sites à démerdifier et tu as bien raison.
[^] # Re: There was an error
Posté par steph1978 . En réponse au journal support des "Text fragments" dans Firefox. Évalué à 3.
Il ne faut pas mettre la première ligne de commentaire. Regarde le git.
[^] # Re: fix
Posté par steph1978 . En réponse au journal support des "Text fragments" dans Firefox. Évalué à 1. Dernière modification le 24 octobre 2024 à 14:45.
j'étais pas sur de devoir modifier mon code, mais si, il faut url -ncoder le texte. J'ai aussi ajouter le fait de supprimer le fragment existant si il y a déjà un.
ça se passe ici
[^] # Re: l'idée est bonne
Posté par steph1978 . En réponse au journal support des "Text fragments" dans Firefox. Évalué à 2.
oui, ça peut servir pour utiliser une version patchée d'une extension existante : DL le .xpi, dezip quelquepart, modifie le code et load dans la page debug.
# fix
Posté par steph1978 . En réponse au journal support des "Text fragments" dans Firefox. Évalué à 2. Dernière modification le 24 octobre 2024 à 14:33.
supprimé
[^] # Re: créer un lien web vers n'importe quelle partie du document
Posté par steph1978 . En réponse au lien Text fragments - URIs | MDN. Évalué à 2.
J'ai hésité, mais comme tu me le suggère …
# créer un lien web vers n'importe quelle partie du document
Posté par steph1978 . En réponse au lien Text fragments - URIs | MDN. Évalué à 5. Dernière modification le 24 octobre 2024 à 10:33.
Le lien hypertexte (
<a href="...">
) c'est un peu l'essence du web.Mais ça a une limite, on ne peut faire un lien que vers le document entier, pas un contenu en particulier.
Il existe depuis longtemps le fragment (
URL#text-id
) mais il suppose que l'auteur du document ait mis des identifiants sur les sections ; à part sur wikipedia (mediawiki), je ne le vois pas souvent.Avec cette nouvelle fonctionnalité "text fragment" (
#:~:text=
), on peut créer des liens vers un morceau de texte arbitraire. Bon je trouve la syntaxe un peu complexe et j'aurai préférer pouvoir faire un lien vers un "css-selector", beaucoup plus prédictible et dont la syntaxe est connue.Mais ne boudons pas notre plaisir.
[^] # Re: Valeurs actuelles
Posté par steph1978 . En réponse au lien Le port d’opinel désormais sanctionné de 500 euros d’amende et une inscription au casier judiciaire. Évalué à 7.
C'est vrai que si tu ne connaissais pas le truc avant, ça peut surprendre.
Valeurs actuelles ne parlent pas de valeurs actuelles, mais rétrograde, tout comme la Manif pour tous n'était pas en fait pour tous mais que pour les gens qui ont des "Valeurs actuelles".
[^] # Re: Celui-là ?
Posté par steph1978 . En réponse au journal L’informatique, ce truc de jeune (!?). Évalué à 6. Dernière modification le 23 octobre 2024 à 11:22.
J'adore cette introduction : tu veux un TLDR, c'est que t'as rien compris au sujet :D
Trop bon aussi
# ils nous volent not' travail
Posté par steph1978 . En réponse au journal L’informatique, ce truc de jeune (!?). Évalué à 3.
ah bah non en fait.
[^] # Re: Cela reste un mystère pour moi...
Posté par steph1978 . En réponse au lien Linux de plus en plus populaire sur PC !. Évalué à 8.
Vente liée
# il est donc temps
Posté par steph1978 . En réponse au lien Chrome prévient qu'uBlock Origin et d’autres extensions ne seront bientôt plus compatibles. Évalué à 10.
De changer de navigateur.
Merci ggl pour ce rappel.
[^] # Re: Diaporama ?
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 2.
J'ai essayé
-tune stillimage
. Cela ne change pas le résultat - qualité et taille. Cependant, comme on donne à ffmpeg des images statiques en entrée, il applique peut être déjà cette optimisation par défaut dans ce cas.[^] # Re: N'importe quel format vidéo
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 2.
it works
[^] # Re: Diaporama ?
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 3.
My bad, j'ai refait l'encodage en libx64 au lieu de mpeg4 et ça prend maintenant 3 minutes mais surtout ça produit un fichier de 16MB avec une qualité top.
Houpi !
[^] # Re: Diaporama ?
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 2. Dernière modification le 10 octobre 2024 à 21:34.
J'ai commencé quelques expérimentations.
Une vidéo de 17 minutes. Pesant 390MB, la piste vidéo pèse 381 MB, la piste son en pèse 9MB.
Video: h264, 1920x1080, 2993 kb/s, 29.97 fps
Audio: aac, 96000 Hz, mono, 68 kb/s
Le PDF des 54 slides pèse 8.9MB, transformé en 54 fichiers Jpeg : 4MB.
On pourrait espérer un fichier de 13MB.
J'encode le tout avec ffmpeg en mpeg4, cela prend 1.3min ; le résultat pèse 105MB et la qualité est moins bonne que les jpeg.
Un peu décevant …
[^] # Re: Diaporama ?
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 2. Dernière modification le 10 octobre 2024 à 15:16.
Obtenir les images de slides n'est pas un soucis mais merci pour l'astuce.
Par contre l'idée d'utiliser openshot est une bonne piste.
Les projets openshot sont sauvegardés en json et Openshot lui même peut être invoqué en ligne de commande ; à tester si on peut demander le rendu final de cette façon. Il serait alors possible de templatiser le json pour y placer les images, leurs durées, des transitions, et la bande son.
Et cela rejoint un peu le commentaire plus haut : un format vidéo c'est déjà à peu près ce que je recherche.
C'est peut être un chouia moins optimisé que juste images+son mais on doit sur un très bon Pareto.
[^] # Re: N'importe quel format vidéo
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 3. Dernière modification le 10 octobre 2024 à 10:26.
J'ai eu un peu cette intuition aussi, en y réfléchissant : chaque slide serait finalement une "key frame" (je ne me rappelle plus le terme consacré…) qu'on étire le temps de la narration sur ce slide.
[^] # Re: Fla$h
Posté par steph1978 . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 5.
Adobe/Flash repose au cimetière aux côtés de Sun/JavaApplet et MS/Sylverlight ; replacées par les technologies web : HTML + CSS + JS et toutes les API qui vont avec : WebGL, WebRTC, Canvas
Ce sont des technologies pour construire des applications - un lecteur de vidéo en serait une - mais pas des formats.
# FF + curl
Posté par steph1978 . En réponse au message Question de newbie sur la soumission de formulaire avec python-request. Évalué à 2.
dans firefox,
La première ligne qui s'affiche dans l'onglet réseau est la requête de soumission du formulaire.
Faire click-droit, "copy as curl", chez moi ça donne:
Le plus important étant la deuxième ligne - on fait un POST - et la dernière qui donne le format des informations attendue.
En jouant cette commande telle quelle dans un terminal, on retrouve le même résultat que dans le navigateur.
Après, on peut s'amuser à enlever les lignes d'entête (
-H
) qui paraissent inutiles jusqu'à ce que cela ne marche plus. On peut aussi combiner deux requêtes pour récupérer des cookies si nécessaire. Mais la base est là.Happy scraping.
# pourrait être un journal ou un lien
Posté par steph1978 . En réponse au message Valve s'associe avec Arch pour améliorer SteamOS.. Évalué à 2.
pour plus de visibilité.
# lapin
Posté par steph1978 . En réponse au message Projet menu interactif avec scan des dossiers. Évalué à 2.
Je n'ai pas compris cette phrase, c'est quoi "X", c'est quoi un accès ?
[^] # Re: partition boot séparée
Posté par steph1978 . En réponse au message [Résolu] S'échapper d'une partition boot trop petite. Évalué à 3.
J'ajouterai Grub ne sais pas booter sur une partition chiffré.
Ce qui ne doit pas être complétement vrai car il me semble avoir vu un tuto pour le faire.
Quoi qu'il en soit, ce n'est pas nativement prévu dans l'installer Debian ; alors que le chiffrement de "/" l'est.
[^] # Re: nocode nogeek
Posté par steph1978 . En réponse au lien Nocode summit : le non évènement où ne pas aller si vous ne voulez pas coder !. Évalué à 2.
Bon y a quand même de la pratique : https://www.nocode-summit.org/fr/content/impact-nocode-hackathon et https://www.nocode-summit.org/fr/content/nocoders-games, ça peut être instructif.