Frage:
Kann ich alle Bilder auf einer Seite herunterladen?
JShoe
2013-01-16 10:09:46 UTC
view on stackexchange narkive permalink

Gibt es eine Möglichkeit, ein Skript mit einer bestimmten Webseite als Argument auszuführen, mit dem alle Bilder von dort heruntergeladen werden?

Haben Sie sich Automator angesehen? Es ist bereits ein Plug-In zum Abrufen von Bild-URLs von Webseiten geschrieben. Seien Sie vorsichtig mit zu breiten Fragen (und überfluten Sie die Site mit zu vielen Fragen und keinen Antworten - die Site funktioniert am besten, wenn Sie etwas zurückgeben und nur fragen - auch wenn die Fragen alle gut sind).
Fünf antworten:
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 (keine Verzeichnisse) lädt alle Dateien in das aktuelle Verzeichnis herunter
  • -r -l1 (rekursive Ebene 1) lädt verknüpfte Seiten und Ressourcen auf die erste Seite li herunter >
  • -p (Seitenanforderungen) enthält auch Ressourcen auf verknüpften Seiten.
  • -np (kein übergeordnetes Element) folgt nicht nur Links zu übergeordneten Verzeichnissen
  • -A (Akzeptieren) Lädt Dateien mit den angegebenen Erweiterungen herunter oder behält sie bei.
  • -e robots = off ignoriert robots.txt und lädt keine robots.txt in das aktuelle Verzeichnis herunter.

Wenn die Bilder befinden sich auf einem anderen Host oder einer anderen Subdomain. Sie müssen -H hinzufügen, um Hosts zu überspannen:

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

Sie können auch curl verwenden:

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

-L folgt Positionsüberschriften (Weiterleitungen) . -O gibt Dateien mit demselben Namen in das aktuelle Verzeichnis aus.

Wohin wird es heruntergeladen?Im Arbeitsverzeichnis wird nur die Hauptseite angezeigt. Werden die verknüpften Dateien an einem anderen Ort gespeichert?
Graham Miln
2013-01-17 23:45:18 UTC
view on stackexchange narkive permalink

Sie können einen Automator-Workflow verwenden, um in eine Webseite eingebettete Bilder oder von einer Webseite verknüpfte Bilder herunterzuladen. Ein guter Ausgangspunkt für einen Workflow ist:

  1. Aktuelle Webseite von Safari abrufen
  2. Bild-URLs von Webseite abrufen
  3. URLs herunterladen
  4. Downloading images from web pages with Automator on Mac OS X 10.8

    Sie können den Workflow so ändern, dass eine Liste von Webseiten zum Abrufen verwendet wird.

    Automator ist in Mac OS X im Ordner "Programme > Utilities ".

Alle Bild-URLs kopieren? `Lynx -dump` könnte beim Herunterladen funktionieren, aber viel analysieren - keine einfachere Methode? -1 es sei denn, der zweite Punkt wurde geklärt - es kann eine Menge Arbeit sein ...
@hhh Der zweite Abschnitt, Bild-URLs abrufen, wird von der im Screenshot angezeigten Automator-Aktion ausgeführt. Es gibt keine nennenswerte Arbeit für den Benutzer.
+1 Hey, das ist cool. Warum kann ich mein Downvote nicht in Upvote ändern? Ich wusste nicht, dass das so einfach ist! Danke für das Teilen :)
Kevin Chen
2013-01-16 13:31:25 UTC
view on stackexchange narkive permalink

Hier ist eine hackige Lösung (aber sie funktioniert). Hoffe, jemand kann einen besseren finden.

  1. Verwenden Sie im Terminal wget --page-require http://example.com/ . Dadurch werden die Webseite unter example.com und alle damit verknüpften Ressourcen (z. B. Bilder, Stylesheets und Skripte) heruntergeladen. Weitere Informationen zu --page-Requisiten. Hinweis: Sie können viele durch Leerzeichen getrennte URLs hinzufügen, um viele davon gleichzeitig herunterzuladen. Wenn viele vom selben Server stammen, sollten Sie etwas wie wget --wait = 2 verwenden, um zu vermeiden, dass Dateien zu schnell verschluckt werden.

  2. Öffnen Sie den Ordner, in den Sie diese Dateien heruntergeladen haben, und verwenden Sie Spotlight, um die Bilder von den anderen Dateien zu trennen. Ich gehe davon aus, dass Sie Mountain Lion haben. Geben Sie "Bild" in das Suchfeld ein und wählen Sie "Arten"> "Bild".

  3. ol>
Es wurde nur der HTML-Code heruntergeladen, keines der Bilder. Es scheint dasselbe zu sein, als hätte ich in meinem Webbrowser "Speichern unter ..." ausgeführt.
Entweder verwendet die Site JavaScript, um den Inhalt zu laden, oder sie blockieren "wget" durch den Benutzeragenten. Im zweiten Fall können Sie versuchen, mit "wget ​​-U" den Benutzeragenten Ihres Webbrowsers hier einzugeben, um vorzutäuschen, dass Sie es sind ein tatsächlicher Webbrowser.
@JShoe Ich habe gerade das -U-Flag mit dem Benutzeragenten von Safari getestet und es funktioniert.
Ich habe Chrome verwendet und versucht, von imgur herunterzuladen. Was ist ein User-Agent?
@JShoe Der User-Agent ist das, was ein Browser oder Client wie wget verwendet, um sich gegenüber einem Server zu identifizieren. [Diese Website] (http://httpbin.org/user-agent) zeigt Ihnen die Benutzeragentenzeichenfolge an, die Ihr Browser an seinen Server gesendet hat. Das habe ich mit wget -U verwendet.
Okay, ich habe den aktualisierten Befehl erfolgreich ausgeführt, aber immer noch nur den HTML-Code heruntergeladen.
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/7134/discussion-between-kevin-chen-and-jshoe)
Sie könnten "Lynx-Dump" verwenden und alle Bild-URLs dort oder vielleicht einen Scraper analysieren, um eine bessere Lösung zu finden, obwohl dies nett ist - können Sie erklären, wie Sie GNU-Coreutils in OS X erhalten haben?
@hhh Ich habe es aus dem Quellcode kompiliert, aber Sie können auch Homebrew oder MacPorts verwenden. (Ich denke, es kam früher mit OS X?)
hhh
2013-02-07 05:58:11 UTC
view on stackexchange narkive permalink

Wenn Sie das Muster in der URL kennen, können Sie die * ix-Lösung mit Curl verwenden: Verwenden Sie Curl, um Bilder mit Platzhalter von der Website herunterzuladen?

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

Überprüfen Sie den Automator Space auf MyAppleSpace http://www.myapplespace.com/pages/view/14664/automator-script-library

Dies ist nicht unnötig, da Automator dies bereits hat.
... und Nur-Link-Antworten werden nicht empfohlen, und die akzeptierte Antwort zeigt bereits, wie dies in Automator gemacht wird.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...