Wie nehmen Programmatically Snapshot von Crawled Webpages (in Ruby)?
-
06-07-2019 - |
Frage
Was ist die beste Lösung, um programmatisch eine Momentaufnahme einer Webseite zu nehmen?
Die Situation ist folgende: Ich möchte eine Reihe von Web-Seiten kriechen und Thumbnail-Schnappschüsse von ihnen in regelmäßigen Abständen zu nehmen, sagen einmal alle paar Monate, ohne manuell zu jedem gehen zu müssen. Ich möchte auch in der Lage sein mag jpg / png Schnappschüsse von Webseiten zu übernehmen, die vollständig Flash / Flex sein könnte, so würde ich warten müssen, bis sie geladen irgendwie den Schnappschuss zu machen.
Es wäre schön, wenn es keine Begrenzung für die Anzahl der Thumbnails war ich erzeugen konnte (innerhalb Grund, sagen 1000 pro Tag).
Alle Ideen, wie dies in Ruby zu tun? Scheint ziemlich hart.
Browser, dies zu tun in. Safari oder Firefox, vorzugsweise Safari
Vielen Dank.
Lösung
Das hängt wirklich von Ihrem Betriebssystem. Was Sie brauchen, ist eine Möglichkeit, in einen Web-Browser, Haken und das zu einem Bild speichern.
Wenn Sie auf einem Mac sind - ich könnte mir vorstellen, Ihre beste Wette MacRuby zu verwenden wäre (oder RubyCocoa - obwohl ich glaube, dass dies in naher Zukunft weiterentwickelt werden wird) und dann die WebKit zu verwenden Rahmen, um die Seite zu laden und macht es als ein Bild.
Dies ist auf jeden Fall möglich, für Inspiration wünschen Sie können an dem Paparazzi! und webkit2png Projekte.
Eine weitere Option, die nicht abhängig von dem O ist, kann das Browsershots API .
Andere Tipps
Es gibt keine in der Bibliothek in Ruby gebaut für eine Web-Seite zu machen.
-
Mit Selenium & Rubin eine Möglichkeit ist. Sie können Firefox als Browser ohne Kopf (dh auf einem Server) ausgeführt werden.
-
Hier ist der Quellcode für Browser-Aufnahmen. http://sourceforge.net/projects/browsershots/files/
-
Wenn Sie Linux verwenden könnten Sie verwenden http://khtml2png.sourceforge.net/ und Skript es über Rubin.
-
Einige bezahlten Dienstleistungen, um zu versuchen und zu automatisieren
, wie durch .... also gesehen? Feuerfuchs? Oper? einer der unzähligen webkit Motoren?
, wenn es nur möglich wäre, http://browsershots.org :)
Mit Selen-rc, kommt es mit Snapshot-Funktionen.
Mit jruby können Sie SWT Browser-Bibliothek verwenden.