web-dev-qa-db-fra.com

téléchargement d'images en masse à partir de la galerie Web basée sur piwigo

Je souhaite télécharger des images de taille originale à partir de ce site Web, construites sur piwigo CM http://mermaid.pink/

Le téléchargement d'une seule image est autorisé, mais cela prendrait des années Pouvez-vous me suggérer un logiciel, une extension, un script ou tout autre élément capable de cette tâche?

2
ed0

Vous pouvez utiliser wget comme indiqué ici :

Téléchargement d'un site Web entier avec wget

05 sept. 2008 Par Dashamir Hoxha dans les HOW-TOs

Si vous avez besoin de télécharger un site Web entier, peut-être pour une consultation hors ligne, wget peut faire le travail, par exemple:

$ wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains website.org \
     --no-parent \
         www.website.org/tutorials/html/

Cette commande télécharge le site Web http://www.website.org/tutorials/html/ .

Les options sont les suivantes:

  • --recursive: téléchargez l'intégralité du site Web.
  • --domains website.org: ne suivez pas les liens en dehors de website.org.
  • --no-parent: ne suivez pas les liens en dehors du répertoire tutorials/html /.
  • --page-requisites: récupère tous les éléments qui composent la page (images, CSS, etc.).
  • --html-extension: enregistrez les fichiers avec l'extension .html.
  • --convert-links: convertir les liens pour qu'ils fonctionnent localement, hors ligne.
  • --restrict-file-names=windows: modifiez les noms de fichiers pour qu'ils fonctionnent également sous Windows.
  • --no-clobber: n'écrase aucun fichier existant (utilisé dans le cas où le téléchargement est interrompu et repris).

Parmi ces --page-requisites & --recursive sera probablement nécessaire, bien que --convert-links ou --no-clobber peut être utile. Pour plus d'informations sur l'utilisation de wget exécutez man wget (ou regardez ici ).

2
Wilf

Ceci est ma solution pour cela car votre question récupère les images

Donc, créez d'abord le dossier pour enregistrer les images, puis insérez-y un CD

#terminal
mkdir imagesFolder
cd imagesFolder/

# this one will take a long time but will download 
# every single image related to this website
wget -r -nd -H -p -A '*.jpg','*.jpeg','*.png' -e robots=off http://mermaid.pink/

#I recomend to use this one better as the images in this site are all jpg
# And recursion level is set to 1
wget -r -l 1 -nd -H -p -A '*.jpg' -e robots=off http://mermaid.pink/

Les arguments wget expliquaient:

  • - r | - récursif:

    • Activez la récupération récursive. La profondeur maximale par défaut est 5.
  • - l profondeur | --level = profondeur:

    • Spécifiez la profondeur de niveau de profondeur maximale de récursivité.
  • - nd | --no-répertoires:

    • Ne créez pas de hiérarchie de répertoires lors de la récupération récursive. Lorsque cette option est activée, tous les fichiers seront enregistrés dans le répertoire actuel, sans clobber (si un nom apparaît plus d'une fois, les noms de fichiers auront des extensions .n).
  • - H | --span-hosts:

    • Activez la répartition sur plusieurs hôtes lors de la récupération récursive.
  • - p | --page-requisites (

    • Cette option oblige Wget à télécharger tous les fichiers nécessaires pour afficher correctement une page HTML donnée. Cela inclut des éléments tels que des images, des sons et des feuilles de style référencées ...
  • - A | --accept:

    • Spécifiez des listes séparées par des virgules de suffixes ou de modèles de nom de fichier à accepter. Notez que si l'un des caractères génériques, ,?, [Ou], apparaît dans un élément de acclist, il sera traité comme un motif plutôt que comme un suffixe. Dans ce cas, vous devez mettre le modèle entre guillemets pour empêcher votre Shell de le développer, comme dans -A ". Mp3" ou -A '* .mp3'.
  • - e | --exécuter:

    • Exécutez la commande comme si elle faisait partie de .wgetrc. Une commande ainsi invoquée sera exécutée après les commandes dans .wgetrc, prévalant ainsi sur elles. Si vous devez spécifier plusieurs commandes wgetrc, utilisez plusieurs instances de -e.
    • Dans ce cas, les robots = off est l'argument de e

Pour plus d'informations sur le type wget dans le terminal

man wget

OU vérifiez [[# # ~] ce [~ # ~]

Merci T04435

1
T04435