Question:
Puis-je télécharger toutes les images d'une page?
JShoe
2013-01-16 10:09:46 UTC
view on stackexchange narkive permalink

Y a-t-il un moyen d'exécuter un script avec une certaine page Web comme argument qui téléchargera toutes les images à partir de là?

Avez-vous regardé Automator? Il existe déjà une URL Get Image à partir du plug-in de page Web. Soyez prudent avec des questions trop larges (ainsi que d'inonder le site avec trop de questions et pas de réponses - le site fonctionne mieux lorsque vous redonnez et demandez simplement - même si les demandes sont toutes bonnes).
Cinq réponses:
Lri
2013-01-17 21:12:01 UTC
view on stackexchange narkive permalink
  wget -nd -r -l1 -p -np -A jpg, jpeg, png, svg, gif -e robots = off http://www.apple.com/itunes/  
  • -nd (pas de répertoire) télécharge tous les fichiers dans le répertoire courant
  • -r -l1 (niveau récursif 1) télécharge les pages liées et les ressources sur la première page
  • -p (page requise) inclut également des ressources sur les pages liées
  • -np (sans parent) ne suit pas les liens vers les répertoires parents
  • -A (accept) uniquement télécharge ou conserve les fichiers avec les extensions spécifiées
  • -e robots = off ignore le fichier robots.txt et ne télécharge pas un fichier robots.txt dans le répertoire courant

Si le les images sont sur un hôte ou sous-domaine différent, vous devez ajouter -H pour couvrir les hôtes:

  wget -nd -H -p -A jpg, jpeg, png, gif -e robots = off http://example.tumblr.com/page/{1..2}

Vous pouvez également utiliser curl:

cd ~ / Desktop / ; IFS = $ '\ n'; pour u dans $ (curl -Ls http://example.tumblr.com/page/{1..2} | sed -En 's /.* src = "([^"] + \. (jpe? g | png)) ". * / \ 1 / p '| sort -u); do curl -s" $ u "-O; done

-L suit les en-têtes de localisation (redirections) . -O renvoie les fichiers dans le répertoire courant avec les mêmes noms.

où est-il téléchargé?seule la page principale apparaît dans le répertoire de travail ... les fichiers liés sont-ils enregistrés ailleurs?
Graham Miln
2013-01-17 23:45:18 UTC
view on stackexchange narkive permalink

Vous pouvez utiliser un flux de travail Automator pour télécharger des images intégrées dans une page Web ou des images liées à une page Web. Un bon point de départ pour un flux de travail est:

  1. Obtenir la page Web actuelle à partir de Safari
  2. Obtenir les URL d'image à partir de la page Web
  3. URL de téléchargement
  4. Downloading images from web pages with Automator on Mac OS X 10.8

    Vous pouvez modifier le flux de travail pour utiliser une liste de pages Web à récupérer.

    Automator est inclus avec Mac OS X dans le Dossier Applications > Utilities .

Copier toutes les URL d'image? `Lynx -dump` pourrait fonctionner en téléchargement mais beaucoup d'analyse - pas de méthode plus simple? -1 à moins que le deuxième point ne soit clarifié - cela peut demander beaucoup de travail ...
@hhh la deuxième section, obtenir les URL des images, est effectuée par l'action Automator affichée dans la capture d'écran. Il n'y a pas de travail significatif pour l'utilisateur.
+1 hé c'est cool, pourquoi ne puis-je pas changer mon vote négatif en vote positif? Je ne savais pas que c'était si facile! Merci d'avoir partagé :)
Kevin Chen
2013-01-16 13:31:25 UTC
view on stackexchange narkive permalink

Voici une solution hacky (mais ça marche). J'espère que quelqu'un pourra en trouver un meilleur.

  1. Dans Terminal, utilisez wget --page-requisites http://example.com/ . Cela téléchargera la page Web à example.com et toutes les ressources qui y sont liées (telles que les images, les feuilles de style et les scripts). Plus d'informations sur --les conditions requises pour la page. Remarque: vous pouvez ajouter de nombreuses URL séparées par des espaces pour en télécharger plusieurs à la fois. Si plusieurs d'entre eux proviennent du même serveur, vous devez utiliser quelque chose comme wget --wait = 2 pour éviter d'absorber des fichiers trop rapidement.

  2. Ouvrez le dossier dans lequel vous avez téléchargé ces fichiers et utilisez Spotlight pour séparer les images des autres fichiers. Je vais supposer que vous avez Mountain Lion. Saisissez "Image" dans le champ de recherche et sélectionnez Types> Image.

Il n'en a téléchargé que le code HTML, pas aucune des images. Cela semble être la même chose que si j'avais fait "Enregistrer sous ..." dans mon navigateur Web.
Soit le site utilise JavaScript pour charger le contenu, soit il bloque `wget` par l'agent utilisateur.Dans le second cas, vous pouvez essayer d'utiliser` wget -U "entrez ici l'agent utilisateur de votre navigateur Web" `pour faire semblant de l'être un navigateur Web réel.
@JShoe Je viens de tester le drapeau -U avec l'agent utilisateur de Safari, et cela fonctionne.
J'utilisais Chrome et j'essayais de télécharger depuis imgur. Aussi, qu'est-ce qu'un user-agent?
@JShoe L'agent utilisateur est ce qu'un navigateur ou un client comme wget utilise pour s'identifier auprès d'un serveur. [Ce site Web] (http://httpbin.org/user-agent) vous montrera la chaîne user-agent que votre navigateur a envoyée à son serveur. C'est ce que j'ai utilisé avec wget -U.
D'accord, j'ai donc exécuté avec succès la commande mise à jour, mais elle n'a toujours téléchargé que le code HTML.
laissez-nous [continuer cette discussion dans le chat] (http://chat.stackexchange.com/rooms/7134/discussion-between-kevin-chen-and-jshoe)
Vous pouvez utiliser `Lynx -dump` et analyser toutes les URL d'image là-bas ou peut-être un grattoir, en essayant de trouver une meilleure solution bien que ce soit bien - pourriez-vous expliquer comment vous avez obtenu des coreutils GNU dans OS X?
@hhh Je l'ai compilé à partir des sources, mais vous pouvez également utiliser Homebrew ou MacPorts. (Je pense que cela venait avec OS X?)
hhh
2013-02-07 05:58:11 UTC
view on stackexchange narkive permalink

Si vous connaissez le modèle dans l'url, vous pouvez utiliser la solution * ix avec Curl: Utiliser curl pour télécharger des images depuis le site Web en utilisant un caractère générique?

brian
2014-08-30 00:38:32 UTC
view on stackexchange narkive permalink

Découvrez l’espace Automator sur MyAppleSpace http://www.myapplespace.com/pages/view/14664/automator-script-library

Ce n'est pas inutile car Automator l'a déjà.
... et les réponses par lien uniquement sont déconseillées et la réponse acceptée montre déjà comment le faire dans Automator.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...