web-dev-qa-db-fra.com

Téléchargez l'image de l'URL avec wget et changez le nom du fichier automatiquement

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?

1
Asord1992

Trouver toutes les images d'un site web

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-

Obtenir l'image

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

2
lamino

Que diriez-vous:

wget --output-document=images_icons_linux-bsd.gif https://www.electrictoolbox.com/images/icons/linux-bsd.gif

... tout en une ligne.

0
Derek Downs