Je souhaite télécharger toutes les images d'une URL à l'aide de wget
et définir le nom du fichier de sortie en fonction de l'URL.
Par exemple, si je télécharge cette image:
wget https://www.electrictoolbox.com/images/icons/linux-bsd.gif
Le nom du fichier sera linux-bsd.gif
mais je veux que ce soit images_icons_linux-bsd.gif
Je voudrais que ce soit automatisé.
Comment puis-je atteindre cet objectif?
Comme expliquer ici , vous pouvez le faire avec les éléments suivants:
# get all pages
curl 'http://domain.com/id/[1-151468]' -o '#1.html'
# get all images
grep -oh 'http://pics.domain.com/pics/original/.*jpg' *.html >urls.txt
# download all images
sort -u urls.txt | wget -i-
#!/bin/bash
name=`echo $1 | sed 's/\//_/g' | sed 's/https:__[a-z\.]\+_//g'`
wget -O $name $1
Cela peut ne pas fonctionner avec certaines URL, juste pour que vous sachiez.
Que diriez-vous:
wget --output-document=images_icons_linux-bsd.gif https://www.electrictoolbox.com/images/icons/linux-bsd.gif
... tout en une ligne.