Gibt es eine Möglichkeit, ein Skript mit einer bestimmten Webseite als Argument auszuführen, das alle Bilder von dort herunterlädt?
Sie können einen Automator-Workflow verwenden, um in eine Webseite eingebettete Bilder oder von einer Webseite verlinkte Bilder herunterzuladen. Ein guter Ausgangspunkt für einen Workflow ist:
Sie können den Workflow ändern, um eine Liste von Webseiten zum Abrufen zu verwenden.
Automator ist in Mac OS X im Applications > Utilities
Ordner enthalten.
Lynx -dump
könnte beim Herunterladen funktionieren, aber viel Parsing - keine einfachere Methode? -1, es sei denn, der zweite Punkt wurde geklärt - es kann eine Menge Arbeit sein ...wget -nd -r -l1 -p -np -A jpg,jpeg,png,svg,gif -e robots=off http://www.apple.com/itunes/
Wenn sich die Bilder auf einem anderen Host oder einer anderen Subdomain befinden, müssen Sie -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'; for u in $(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 folgt Standort-Headern (Weiterleitungen). -O gibt Dateien mit denselben Namen in das aktuelle Verzeichnis aus.
Hier ist eine Hacky-Lösung (aber es funktioniert). Hoffe jemand findet einen besseren.
Verwenden Sie im Terminal wget --page-requisites http://example.com/
. Dadurch werden die Webseite unter example.com und alle damit verknüpften Ressourcen (z. B. Bilder, Stylesheets und Skripts) heruntergeladen. Weitere Informationen auf --page-requisites. Hinweis: Sie können viele durch Leerzeichen getrennte URLs hinzufügen, um viele auf einmal herunterzuladen. Wenn viele von demselben Server stammen, sollten Sie etwas wie verwendenwget --wait=2
, um zu vermeiden, dass Dateien zu schnell heruntergeschlürft werden.
Ö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.
wget
durch einen Benutzeragenten blockiert. Im zweiten Fall können Sie versuchen, wget -U "enter your web browser's user-agent here"
so zu tun, als wären Sie ein echter Webbrowser.Lynx -dump
dort alle Bild-URLs oder vielleicht einen Scraper verwenden und analysieren und versuchen, eine bessere Lösung zu finden, obwohl dies nett ist - könnten Sie erklären, wie Sie GNU Coreutils in OS X erhalten haben?Wenn Sie das Muster in der URL kennen, könnten Sie die *ix-Lösung mit Curl verwenden: Use curl to download images from website using wildcard?
Besuchen Sie den Automator Space auf MyAppleSpace http://www.myapplespace.com/pages/view/14664/automator-script-library
Fahrrad