Pages : 1
#1 Le 07/10/2008, à 13:30
- wido
[RéSOLU]dwl une liste d'images
comment je peux télécharger une liste d'image avec la commande wget
de http://www.bidule/image001.jpg à http://www.bidule/image999.jpg ?
Dernière modification par wido (Le 07/10/2008, à 13:42)
Hors ligne
#2 Le 07/10/2008, à 13:38
- tiky
Re : [RéSOLU]dwl une liste d'images
seq -w 999
Produit la suite de nombre de 001 à 999. ( sans l'option -w, la largeur n'est pas équilibrée par des zéros quand c'est nécessaire ).
for i in $(seq -w 999)
do
wget "http://www.bidule/image$i.jpg"
done
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#3 Le 07/10/2008, à 13:41
- R@ND@LL
Re : [RéSOLU]dwl une liste d'images
Je dirais un script Shell, avec un truc du genre,
for i=001 to 999
wget http://....../image i.jpg
Après, je suis pas un expert du script shell, loin de là, et je ne sais pas comment faire pour intégrer ta variable i dans une url.
Peut-être que wget peut télécharger à partir d'une URL variable (genre tu décris une variable nommée adresse, dont le numéro final change selon i, et wget télécharge avec comme URL cette variable adresse)
Je sais pas si je suis clair, si un gourou de Bash pouvait passer...
Si l'amour est aveugle, il faut palper.
Pourquoi remettre à deux mains ce qu'on peut faire à une seule?
(J'en ai plein des comme ça, si vous voulez passer pour un abruti en société...)
Hors ligne
#4 Le 07/10/2008, à 13:42
- wido
Re : [RéSOLU]dwl une liste d'images
echo -n "Entrez votre url: "
read a u b
echo -n "Quel chiffre/nombre de départ ? "
read i
echo -n "Quel chiffre/nombre d'arrivé ? "
read y
while [ $i -lt $y ]; do
wget $a`printf %.3i $i`$b.jpg;
i=$(($i+1));
done
echo "Voilà fini."
j'avais trouvé ça aussi merci je prends tout
Hors ligne
#5 Le 07/10/2008, à 13:44
- R@ND@LL
Re : [RéSOLU]dwl une liste d'images
Ouais c'est ça que j'avais en tête, je savais juste pas le transposer en script...
Si l'amour est aveugle, il faut palper.
Pourquoi remettre à deux mains ce qu'on peut faire à une seule?
(J'en ai plein des comme ça, si vous voulez passer pour un abruti en société...)
Hors ligne
#6 Le 07/10/2008, à 13:49
- tiky
Re : [RéSOLU]dwl une liste d'images
echo -n "Entrez votre url: " read a u b echo -n "Quel chiffre/nombre de départ ? " read i echo -n "Quel chiffre/nombre d'arrivé ? " read y while [ $i -lt $y ]; do wget $a`printf %.3i $i`$b.jpg; i=$(($i+1)); done echo "Voilà fini."
j'avais trouvé ça aussi merci je prends tout
Tu peux aussi spécifier un nombre de départ et un pas avec seq.
seq -w 6 8
donne 6 7 8.
seq -w 6 2 10
donne 06 08 10.
Ton code ne fonctionne pas si y est plus grand ou égal à 1000.
Ce code montre le problème:
for i in $(seq 999 1050); do printf '%.3i\n' $i; done;
Avec printf, tu fixe la taille de l'entier à 3 chiffres. La commande seq avec l'option -w fixe la taille de l'entier à partir de la taille de la borne supérieur de la séquence.
Le code corrigé:
max=1050; for i in $(seq 999 $max); do printf "%.${#max}i" $i; echo; done;
Ce qui donne pour le tien:
echo -n "Entrez votre url: "
read a u b
echo -n "Quel chiffre/nombre de départ ? "
read i
echo -n "Quel chiffre/nombre d'arrivé ? "
read y
while [ $i -lt $y ]; do
wget $a$(printf %.${#y}i $i)$b.jpg;
i=$((i+1));
done
echo "Voilà fini."
Dernière modification par tiky (Le 07/10/2008, à 14:01)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#7 Le 07/10/2008, à 14:28
- wido
Re : [RéSOLU]dwl une liste d'images
trop cool, le bout de code je l'ai pris sur le forum , c'est la classe que tu l'améliores
PS:j'essayerai de l'intégrer avec zenity
Dernière modification par wido (Le 07/10/2008, à 14:29)
Hors ligne