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%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%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% 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.
Tags und Links coffeescript phantomjs