Contenu | Rechercher | Menus

Annonce

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.

À propos de l'équipe du forum.

#1 Le 22/10/2007, à 07:47

soupaloignon

[Résolu] Script de capture d'une page web en tant qu'image PNG

Bonjour,

Je suis tombé ici : http://forum.ubuntu-fr.org/viewtopic.php?id=151947
sur une ligne de commande permettant de générer une image png d'une page web grâce à cette commande :

kwebdesktop 800 600 vignette.png http://le site que je veux.net

Ca marche nickel mais il faut modifier le script à chaque fois que l'on veut faire une capture, donc pas très pratique.
J'ai donc commencé à le modifier pour rentrer en paramètres les différentes valeurs dans des fenêtres zenity.
Pour le moment cela donne ça :

#!/bin/bash


## Page web à capturer
    SITE=$(zenity --entry --width=300 --height=150 --title="Page Web à capturer" --entry-text="http://" --text="Entrer l'adresse de la page web :" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

## Dimmension largeur
    LARGEUR=$(zenity --entry --width=300 --height=150 --title="Rentrer la largeur souhaitée" --entry-text="" --text="largeur :" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

## Dimmension hauteur
    HAUTEUR=$(zenity --entry --width=300 --height=150 --title="Rentrer la hauteur souhaitée" --entry-text="" --text="Hauteur :" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi
kwebdesktop $LARGEUR $HAUTEUR image.png $SITE

Pour aller plus loin je voudrais maintenant que le nom de l'image générée soit celle de la page web. Et là je bloque. J'ai testé différents trucs mais cela ne fonctionne pas.

kwebdesktop $LARGEUR $HAUTEUR $SITE.png $SITE
kwebdesktop $LARGEUR $HAUTEUR "$SITE.png" $SITE

Avec une variable récupérée :

#NOM=$($SITE.png)
kwebdesktop $LARGEUR $HAUTEUR $NOM $SITE

Comme vous l'avez sans doute compris je débute. Mais trouve vraiment génial ce que l'on peut faire avec du bash.

Une fois que ce problème sera réglé je vais me frotter à du code permettant d'enlever des chaines de caractères et donc d'enlever les "http://www." des images, de façon a ce que les noms de capture puissent se classer dans un ordre logique. Mais ça c'est dans un 2ème temps wink.

Si quelqu'un à une piste pour que le nom de la capture soit celle de la page web rentrée en paramètres, je suis preneur.

Merci d'avance

Dernière modification par soupaloignon (Le 24/10/2007, à 20:55)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#2 Le 24/10/2007, à 19:35

Balkoth

Re : [Résolu] Script de capture d'une page web en tant qu'image PNG

Bonjour,

Pour la variable, il faut mettre ${SITE}.png.
Seulement, ça ne fonctionne pas car le système refuse la création d'un fichier dont le nom contient le caractère '/'. Du coup, il faut les enlever, et là ça marche smile

SITE2=$(echo $SITE | cut -d '/' -f3- | tr '/' '_')
kwebdesktop $LARGEUR $HAUTEUR ${SITE2}.png $SITE

edit : pas besoin de variable intermédiaire,

kwebdesktop $LARGEUR $HAUTEUR $(echo $SITE | cut -d '/' -f3- | tr '/' '_').png $SITE

fonctionne aussi.

Dernière modification par Balkoth (Le 24/10/2007, à 21:04)

Hors ligne

#3 Le 24/10/2007, à 20:53

soupaloignon

Re : [Résolu] Script de capture d'une page web en tant qu'image PNG

Merci  Balkoth pour ce long moment passé sur jabber wink

un petit rajout pour enlever les www. du nom de l'image

sed s/www.//

Ce qui donne au final :

#!/bin/bash

 #############################################################
 # www.soupaloignon.net
 # script permettant de faire une copie d'écran d'une page web, en spécifiant sa taille en hauteur et largeur. Le nom du fichier image sera l'adresse de la page, débarassée des http://www. Les / dans le cas d'une page au fin fond d'une arborescence sont remplacés par _
 #############################################################

#############################################################
 # Un grand merci à Balkoth pour toutes ses précieuses connaissances
 # Fil de la discussion : http://forum.ubuntu-fr.org/post.php?tid=157513
 #############################################################
 


## Page web à capturer
    SITE=$(zenity --entry --width=300 --height=150 --title="Page Web à capturer" --entry-text="http://" --text="Entrez l'adresse de la page web :" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

## Dimmension largeur
    LARGEUR=$(zenity --entry --width=300 --height=150 --title="Rentrer la largeur souhaitée" --entry-text="" --text="largeur :" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

## Dimmension hauteur
    HAUTEUR=$(zenity --entry --width=300 --height=150 --title="Rentrer la hauteur souhaitée" --entry-text="" --text="Hauteur :" )
         if [ "${PIPESTATUS[0]}" != "0" ]; then
           exit
         fi

kwebdesktop $LARGEUR $HAUTEUR $(echo $SITE | cut -d '/' -f3- | tr '/' '_' | sed s/www.//).png $SITE

==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#4 Le 24/10/2007, à 21:29

yurek

Re : [Résolu] Script de capture d'une page web en tant qu'image PNG

page saver basic c'est une extension qui fait la meme chose


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#5 Le 24/10/2007, à 22:12

soupaloignon

Re : [Résolu] Script de capture d'une page web en tant qu'image PNG

yurek a écrit :

page saver basic c'est une extension qui fait la meme chose

Je connaissais pas cette extension, sympa, ça fonctionne bien


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne