Je ne peux pas wget
alors qu'il n'y a pas encore de chemin à enregistrer. Je veux dire, wget
ne fonctionne pas pour les chemins de sauvegarde inexistants. Par exemple:
wget -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
Si /path/to/image/
n'existe pas auparavant, il renvoie toujours:
No such file or directory
Comment puis-je le faire fonctionner pour créer automatiquement le chemin et enregistrer?
Essayez curl
curl http://www.site.org/image.jpg --create-dirs -o /path/to/save/images.jpg
mkdir -p /path/i/want && wget -O /path/i/want/image.jpg http://www.com/image.jpg
wget obtient uniquement un fichier ne créant PAS la structure de répertoires pour vous (mkdir -p/chemin/vers/image /), vous devez le faire par vous-même:
mkdir -p /path/to/image/ && wget -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
Vous pouvez dire à wget de créer le répertoire (pour que vous n'ayez pas à utiliser mkdir) avec le paramètre --force-directories
tout cela serait
wget --force-directories -O /path/to/image/new_image.jpg http://www.example.com/old_image.jpg
Après avoir beaucoup cherché, j'ai finalement trouvé n moyen d'utiliser wget
pour télécharger pour un chemin inexistant.
wget -q --show-progress -c -nc -r -nH -i "$1"
=====
Clarification
-q
--quiet --show-progress
Kill annoying output but keep the progress-bar
-c
--continue
Resume download if the connection lost
-nc
--no-clobber
Overwriting file if exists
-r
--recursive
Download in recursive mode (What topic creator asked for!)
-nH
--no-Host-directories
Tell wget do not use the domain as a directory (for e.g: https://example.com/what/you/need
- without this option, it will download to "example.com/what/you/need")
-i
--input-file
File with URLs need to be download (in case you want to download a lot of URLs,
otherwise just remove this option)
Bon wget-ing!