Bilder von einer Webseite herunterladen

2329
tony_sid

Dieser schöne Junge aktualisiert seinen Blog regelmäßig mit Bildern. Ich möchte den Prozess des Herunterladens seiner Bilder auf meinen Computer automatisieren.

Nehmen wir an, ich möchte die 3 Bilder aus diesem Eintrag in seinem Blog herunterladen .

Anstatt jedes Bild mit der rechten Maustaste anzuklicken, möchte ich einen automatischeren Prozess verwenden.

httrack scheint das Ding zu benutzen. (Lass es mich wissen, wenn es noch etwas gibt.)

Es ist ein bisschen schwierig, weil die Adresse der Bilder, die ich versuche, völlig anders ist. Das erste der drei Bilder befindet sich beispielsweise unter http://stat.ameba.jp/user_images/20120120/20/maofish/3c/99/j/o0480063311745603530.jpg

Ich habe folgenden Befehl ausprobiert:

httrack http://ameblo.jp/maofish/entry-11141191034.html -* +stat.ameba.jp/* -*.html -*.txt +*.jpg 

Es bekommt die Dateien, nach denen ich suche, aber es gibt auch andere Sachen, die ich nicht finde. Die Bilder sind schwer zu finden, da sie beim Herunterladen mehrere Verzeichnisse tief verschachtelt sind.

Was sind die Parameter, die httrack geben sollen, um nur die Bilder zu erhalten, die mich interessieren, und sie im aktuellen Verzeichnis zu speichern, damit ich sie nicht zu stark suchen muss? Wenn es ein besseres Werkzeug gibt, was ist es?

0
Ich weiß nicht, ob das helfen wird, aber es könnte. Der Schlüssel in dieser Situation war, die Haupt-HTML-Seite abzurufen, die Image-URLs dann mit / filter / grep-command abzufragen, sie dann zu ändern, um die tatsächlichen URLs zu erstellen. http://superuser.com/questions/351424/wget-save-all-data-images-from-given-directory Das eine hatte vielleicht 3 "Alben" und 3 "Haupt" -Html-Seiten, die Links zu allen hatten Bilder, dann mussten nur diese URLs angepasst und heruntergeladen werden. barlop vor 12 Jahren 0
Haben Sie ein paar Hauptseiten oder eine Hauptseite, die auf alle Seiten verweist? Ich schaue nicht auf den "schönen Jungen", sorry! barlop vor 12 Jahren 0
Ich denke, die Hauptseite ist der erste Link in meinem Beitrag. Auf dieser Seite wird der neueste Eintrag angezeigt, und von dort aus kann eine Person zurückgehen, um vorherige Einträge zu lesen. tony_sid vor 12 Jahren 0
Nun, Mann, hier ist ein Beispiel mit einem Baum, also nicht so schlimm wie ein "schöner Junge". http://ameblo.jp/d-out-ko-ki/ über diesen 3 Bildern befindet sich ein Link http://ameblo.jp/d-out-ko-ki/imagelist.html Sehen Sie, wenn Sie dann sehen können Wenn Sie auf diese Pfeile klicken, erhalten Sie eine neue HTML-Seite mit einer Liste von Bildern. Sie möchten, dass jede dieser HTML-Seiten-URLs in einer Datei aufgeführt wird. Jedes Jahr hat ein Muster. http://ameblo.jp/d-out- ko-ki / imagelist-201012.html <- 201012 ist Dezember 2010. Dann haben Sie alle diejenigen für 2011, die imagelist-201101.html zu imagelist-201112.html sind, dann haben Sie 2012 .. barlop vor 12 Jahren 0
Sie erhalten also eine Liste aller HTML-URLs in einer Datei. Dann machen Sie für / f% f in (thefile) geben Sie% f >> thefile2 <ein - damit wird der gesamte HTML-Code aller angehängten Dateien in eine Datei namens thefile2 geschrieben. Dann filtern Sie die gewünschten Bild-URLs heraus. Dann konvertieren Sie einfach etwas wie http://imgstat.ameba.jp/view/d/90/stat001.ameba.jp/user_images/20111230/23/d-out-ko-ki/37/01/j/o0480064011704775550. jpg (ein Miniaturbild) in die große Version http://stat.ameba.jp/user_images/20111230/23/d-out-ko-ki/37/01/j/o0480064011704775550.jpg barlop vor 12 Jahren 0
Ich habe wget http://ameblo.jp/d-out-ko-ki/imagelist.html und es hat imagelist.html heruntergeladen. Als ich die for-Schleife ausprobierte, sagte es jedoch einen Syntaxfehler in der Nähe des unerwarteten Tokens "% f". Wozu dient das / f? Ist diese Syntax korrekt? tony_sid vor 12 Jahren 0
Ein kleiner Fehler von meiner Seite, dies wird Ihnen einen Teil des Weges bringen und ich werde in den kommenden Tagen mehr hinzufügen, wenn Sie nicht sehen ... Als Beispiel wollen wir es einfach für den 20. Dezember 2012 tun (äh, ich meine 2010) Dezember!) do C: \ blah> wget ameblo.jp/d-out-ko-ki/imagelist-201012.html Wenn Sie diese Datei jetzt haben, machen Sie Folgendes: C: \ blah> Typ imagelist-201012.html | grep -oP "http: //.*? view. *? jpg"> alist Damit wird eine Datei-Alist erstellt, die einen Blick wert ist. Dazu müssen Sie grep herunterladen, google for gnuwin32, coreutils und grep herunterladen und sicherstellen, dass sich c: \ program files \ gnuwin32 \ bin im Pfad befindet. Nun sehen Sie sich die Datei alist an barlop vor 12 Jahren 0
Diese Liste enthält jetzt eine Liste mit URLs von Miniaturansichten. Wir können sie dann in URLs der großen Dateien konvertieren, aber sehen, ob Sie mit alist so weit kommen. barlop vor 12 Jahren 0
Laden Sie auch SED herunter, da wir die URLs von kurz nach lang konvertieren werden. In der Zwischenzeit muss es ein Muster geben, um kleine URLs in große URLs umzuwandeln. hoffentlich ist es nicht zu knifflig. Gehen Sie zu http://ameblo.jp/d-out-ko-ki/imagelist-201012.html, klicken Sie auf ein Miniaturbild und notieren Sie sich die URL. Klicken Sie dann auf die Miniaturansicht, um sie groß darzustellen, und notieren Sie sich diese URL. Versuchen Sie zu sehen, wie Sie mit Suchen / Ersetzen wie Suchen / Ersetzen in MS Word von einer URL zur anderen gelangen. barlop vor 12 Jahren 0
Sehen Sie, ob Sie die Liste aufnehmen können (das ist eine Gruppe von URLs für Miniaturansichten von 2010 12), führen Sie eine Suche / Ersetzung durch, indem Sie sie in eine Reihe von großen Bildern von 2010 12 konvertieren. barlop vor 12 Jahren 0
Ich habe das Muster .. das konvertiert Datei Alist in Datei Alist2, Datei Alist2 hat große Thumbnails C: \ asdf> Typ Alist | sed "s # http: //.*/user_images/#http: //stat.ameba.jp/user_ima ges / #"> alist2 Wir möchten dann die jpgs wget -i afile2 herunterladen, aber mit einem Timeout 'cos, das Sie nicht machen Ich will nicht, dass sie das Herunterladen stoppen und ihren Server nicht überlasten. Ich bin nicht sicher, wie ich das hinbekomme. Ich habe es versucht, aber es hat nicht zwischen jedem gewartet, also habe ich Ctrl-C gemacht. barlop vor 12 Jahren 0
c: \ blah> wget -w 4 -i alist2 <- Sie wollen -w 4, also wartet es einige Sekunden, bis ich 4 Sekunden zwischen das Herunterladen der einzelnen JPGs gestellt habe. Ich lass dich erst einmal hier, aber bist du so weit gekommen und siehst du jetzt eine Methode? man kann es sehr automatisiert bekommen und das ist die allgemeine Sache. alist2 ist nur das jpgs von 2010 12, aber es sollte Ihnen helfen, eine Methode zu sehen. barlop vor 12 Jahren 0
Außerdem habe ich Ihren Kommentar zuvor nicht gesehen, weil Sie ihn nicht an @barlop gerichtet haben. barlop vor 12 Jahren 0
Ich fand das, wenn ich die Seite wget und sed -n '/ verwende. tony_sid vor 12 Jahren 0
eine Liste von URLs von Bildern zB alist2.lst? wget -w 4 -i alist2.lst (Siehe vor 3 Kommentaren.) Mit der -w 4 wird es zwischen den einzelnen Bildern ein wenig angehalten. Sie möchten beispielsweise nicht vom Zugriff auf den Server ausgeschlossen werden. barlop vor 12 Jahren 0
Übrigens, verwenden Sie Windows oder Linux? welche Version von sed verwendest du? barlop vor 12 Jahren 0
Ich benutze Linux. Sed ist Version 4.2.1. tony_sid vor 12 Jahren 0
Ich bin in Sed 4.2.1-Fenstern, obwohl bei mir davon ausgegangen wird, dass runde Klammern standardmäßig wörtlich sind, die -n und die p sind gut und würden die Notwendigkeit für grep beseitigen, aber Sie möchten auch die URLs überprüfen sind zu große Bilder, keine Thumbnails, siehe frühere Kommentare. barlop vor 12 Jahren 0

0 Antworten auf die Frage