So laden Sie Bilder von einer Site mit phantomjs herunter

7

Ich möchte einige Bilder von einer Website speichern. Im Moment kann ich die Pfade zu den Bildern finden, aber ich habe keine Ahnung, wie ich die Bilder mit PhantomJs erhalten und speichern kann.

%Vor%     
Andreas Köberle 23.05.2013, 14:33
quelle

5 Antworten

17

Ich weiß, dass dies eine alte Frage ist, aber Sie tun dies ganz einfach, indem Sie die Dimensionen und die Position jedes Bilds in einem Objekt speichern und dann phantomjs page.clipRect so ändern, dass die Methode page.render () nur rendert der Bereich, in dem das Bild ist. Hier ist ein Beispiel, das mehrere Bilder von Ссылка auskratzt:

%Vor%     
Tom 10.10.2013, 17:50
quelle
9

Es gibt jetzt einen anderen Weg, dies zu tun.

%Vor%     
Alon Bar David 19.09.2014 19:29
quelle
5

Lösen Sie dies, indem Sie einen untergeordneten Prozess starten, der ein Knotenscript ausführt, mit dem die Bilder heruntergeladen werden:

phantomJs-Skript:

%Vor%

nodeJs-Skript

%Vor%     
Andreas Köberle 24.05.2013 09:49
quelle
0

Falls Bildabmessungen bekannt sind:

%Vor%     
TheZver 26.11.2015 12:42
quelle
0

Ich habe wirklich viele Probleme bei der Verwendung der render Methode erlebt. Zum Glück habe ich mir schließlich zwei bessere Lösungen einfallen lassen. Hier ist der Code, den ich in meinem Projekt verwendet habe. Die erste Lösung hat einige Probleme, das Cookie zu aktualisieren, so dass es beim Abrufen des Captcha-Bildes nicht gut funktionieren kann. Beide Methoden verursachen eine neue HTTP-Anfrage. Aber mit ein paar Modifikationen kann der zweite eine solche Anfrage auslassen.

Der erste ruft den Cookie von phantomJs ab und erstellt eine neue http-Anfrage mit request . Der zweite verwendet base64 , um das Bild zu übergeben.

%Vor%     
Ziping Sun 09.04.2017 09:58
quelle

Tags und Links