#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 .
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
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
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
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