Neue Funktion: Screenshots von Webseiten
Lange ist es her, dass ich etwas neues bei Kendoo gemacht habe. Aber da ich für ein Projekt herauskriegen musste, wie sich Screenshots von Webseiten erzeugen lassen, habe ich mir gedacht, dass das doch sehr gut in die Kendoo-Toolsammlung passen würde.
Ab heute können nun also durch einfachen Aufruf einer URL Screenshots von Webseiten erzeugt werden. Dabei ist das URL-Schema wie folgt:
Wenn Breite, Höhe und Schnitt angegeben werden, sind alle drei Daten notwendig. Dabei sind die Maße in Pixel gehalten. Schnitt ist entweder 0 oder 1: Wird eine 0 angeben, wird versucht, ein Thumbnail zu erzeugen, also eine kleine skalierte Version des Gesamtbildes. Dies funktioniert allerdings nur, wenn bei der Skalierung der gleiche Aspect Ratio erhalten bleibt - sollte dies unmöglich sein aufgrund des ursprünglichen Bildformats, wird das Bild geschnitten zurückgegeben. Das ist noch nicht perfekt, ich weiß. Das Rückgabebild ist aber auf jeden Fall in der gewünschten Größe.
Bei einer Schnittangabe von 1 wird alles, was über BREITE und HOEHE hinausgeht, schlicht abgeschnitten. Man bekommt also ein Bild der linken, oberen Ecke der Webseite sozusagen.
Dabei sollte noch beachtet werden, dass ADRESSE immer ganz hinten anzugeben ist und immer mit beginnendem http:// bzw. https://, d.h. es muss eine vollständige URL sein.
Sollte schon ein Screenshot der entsprechenden Seite vorliegen, wird dieser zurückgeliefert. Der Screenshot kann somit schon älter sein. Brauchst Du allerdings ein aktuelles Bild und willst eine Erzeugung eines neuen Screenshots erzwingen, gebe force in der Adresse an, z.B. http://kendoo.net/webscreens/force/http://www.n-tv.de. Dies funktioniert natürlich auch bei zusätzlicher Angabe von Höhe und Breite. Allerdings sollte dies mit Umsicht verwendet werden.
Die Performance der Anwendung sollte recht positiv ausfallen. Da nur dann ein Screenshot erzeugt wird, wenn dieser noch nicht existiert, dauert nur der erste Aufruf relativ lange (bis 20 Sekunden sind keine Seltenheit, je nach der Ladegeschwindigkeit und Komplexität der zu fotographierenden Seite). Weitere Aufrufe gehen dann fix, da sofort das gewünschte Bild geliefert werden kann.
Damit keine "schmutzigen" Dinge fotographiert werden, wird bei Erzeugung eines Screenshots die IP des "Fotografen", sprich des die URL aufrufenden Rechners, mit den Meta-Daten des Bildes gespeichert.
Soweit werden die Screenshots auf unbestimmte Zeit vorliegen, also nicht gelöscht werden. Erst wenn so fleissig fotografiert werden sollte und das Screenshot-Verzeichnis irgendwann mal überquillt, mache ich mir da nochmal Gedanken. Aber bis dahin ist lang hin - ist noch genug Platz da.
Ab heute können nun also durch einfachen Aufruf einer URL Screenshots von Webseiten erzeugt werden. Dabei ist das URL-Schema wie folgt:
- http://kendoo.net/webscreens/ADRESSE, also z.B. http://kendoo.net/webscreens/http://www.n-tv.de für einen Screenshot von n-tv.de
- http://kendoo.net/webscreens/BREITE/HOEHE/SCHNITT/ADRESSE, also z.B. http://kendoo.net/webscreens/500/400/1/http://www.n-tv.de
Wenn Breite, Höhe und Schnitt angegeben werden, sind alle drei Daten notwendig. Dabei sind die Maße in Pixel gehalten. Schnitt ist entweder 0 oder 1: Wird eine 0 angeben, wird versucht, ein Thumbnail zu erzeugen, also eine kleine skalierte Version des Gesamtbildes. Dies funktioniert allerdings nur, wenn bei der Skalierung der gleiche Aspect Ratio erhalten bleibt - sollte dies unmöglich sein aufgrund des ursprünglichen Bildformats, wird das Bild geschnitten zurückgegeben. Das ist noch nicht perfekt, ich weiß. Das Rückgabebild ist aber auf jeden Fall in der gewünschten Größe.
Bei einer Schnittangabe von 1 wird alles, was über BREITE und HOEHE hinausgeht, schlicht abgeschnitten. Man bekommt also ein Bild der linken, oberen Ecke der Webseite sozusagen.
Dabei sollte noch beachtet werden, dass ADRESSE immer ganz hinten anzugeben ist und immer mit beginnendem http:// bzw. https://, d.h. es muss eine vollständige URL sein.
Sollte schon ein Screenshot der entsprechenden Seite vorliegen, wird dieser zurückgeliefert. Der Screenshot kann somit schon älter sein. Brauchst Du allerdings ein aktuelles Bild und willst eine Erzeugung eines neuen Screenshots erzwingen, gebe force in der Adresse an, z.B. http://kendoo.net/webscreens/force/http://www.n-tv.de. Dies funktioniert natürlich auch bei zusätzlicher Angabe von Höhe und Breite. Allerdings sollte dies mit Umsicht verwendet werden.
Die Performance der Anwendung sollte recht positiv ausfallen. Da nur dann ein Screenshot erzeugt wird, wenn dieser noch nicht existiert, dauert nur der erste Aufruf relativ lange (bis 20 Sekunden sind keine Seltenheit, je nach der Ladegeschwindigkeit und Komplexität der zu fotographierenden Seite). Weitere Aufrufe gehen dann fix, da sofort das gewünschte Bild geliefert werden kann.
Damit keine "schmutzigen" Dinge fotographiert werden, wird bei Erzeugung eines Screenshots die IP des "Fotografen", sprich des die URL aufrufenden Rechners, mit den Meta-Daten des Bildes gespeichert.
Soweit werden die Screenshots auf unbestimmte Zeit vorliegen, also nicht gelöscht werden. Erst wenn so fleissig fotografiert werden sollte und das Screenshot-Verzeichnis irgendwann mal überquillt, mache ich mir da nochmal Gedanken. Aber bis dahin ist lang hin - ist noch genug Platz da.