Tools zum Erfassen und Konvertieren des Webs

Erfassen Sie Website-Screenshots oder konvertieren Sie HTML in BilderRuby API

Erstellen Sie bessere Screenshots von Webseiten oder konvertieren Sie HTML direkt in Bilder, indem Sie die folgenden Funktionen von verwenden GrabzIt's Ruby API. Bevor Sie jedoch anfangen, denken Sie daran, dass nach dem Aufruf der url_to_image, html_to_image or file_to_image Methoden der save or save_to Methode muss aufgerufen werden, um das Image zu erstellen.

Grundlegende Optionen

Es ist nur ein Parameter erforderlich, um einen Screenshot einer Webseite oder zu erstellen HTML konvertieren into ein Bild wie im folgenden Beispiel gezeigt.

grabzItClient.url_to_image("https://www.tesla.com")
# Then call the save or save_to method
grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>")
# Then call the save or save_to method
grabzItClient.file_to_image("example.html")
# Then call the save or save_to method

Bildformate

Mit der Ruby-API von GrabzIt können Screenshots in verschiedenen Formaten erstellt werden, darunter JPG, PNG, WEBP, BMP (8-Bit, 16-Bit, 24-Bit oder 32-Bit) und TIFF. Das Standardformat für Bild-Screenshots ist JPG. Unter diesen Umständen ist die Qualität eines JPG-Bilds für einige Anwendungen möglicherweise nicht gut genug. Für Screenshots wird das PNG-Format empfohlen, da es ein ausgewogenes Verhältnis zwischen Qualität und Dateigröße bietet. Das folgende Beispiel zeigt einen Screenshot, der im PNG-Format aufgenommen wurde.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.format = "png"

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save or save_to method
grabzItClient.save_to("result.png")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.format = "png"

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save or save_to method
grabzItClient.save_to("result.png")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.format = "png"

grabzItClient.file_to_image("example.html", options)
# Then call the save or save_to method
grabzItClient.save_to("result.png")

Browsergröße

Die Browsergröße bezieht sich auf die Größe des Browserfensters, das beim Aufnehmen des Screenshots verwendet wird. In den meisten Fällen muss dies nicht festgelegt werden, da die Standard-Browsergröße für alle Aufgaben ausreicht. Übergeben Sie zum Einstellen der Browsergröße einen Wert an browserWidth LÖSCHEN browserHeight Methoden der ImageOptions Klasse.

Bildgröße ändern

Das Ändern der Bildgröße ist einfach, ohne dass das Bild verzerrt wird, ist jedoch etwas schwieriger. Um den gesamten Vorgang zu vereinfachen, empfehlen wir, dies zu verwenden einfacher Bildmaßrechner.

Wenn Sie die Breite und Höhe des Bilds auf eine Größe erhöhen möchten, die größer als die Breite und Höhe des Browsers ist (standardmäßig 1024 x 728 Pixel), müssen auch die Breite und Höhe des Browsers entsprechend erhöht werden.

Benutzerdefinierte Kennung

Sie können der einen benutzerdefinierten Bezeichner übergeben Image Bei den folgenden Methoden wird dieser Wert an Ihren GrabzIt Ruby-Handler zurückgegeben. Diese benutzerdefinierte Kennung kann beispielsweise eine Datenbankkennung sein, mit der ein Screenshot einem bestimmten Datenbankeintrag zugeordnet werden kann.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.customId = "123456"

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save method
grabzItClient.save("http://www.example.com/handler/index")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.customId = "123456"

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save method
grabzItClient.save("http://www.example.com/handler/index")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.customId = "123456"

grabzItClient.file_to_image("example.html", options)
# Then call the save method
grabzItClient.save("http://www.example.com/handler/index")

Screenshot in voller Länge

GrabzIt ermöglicht es Ihnen, einen Screenshot in voller Länge einer gesamten Webseite zu machen, um dies zu tun, müssen Sie ein -1 an das übergeben browserHeight Methode. Um sicherzustellen, dass das Bild der Größe des Browsers entspricht, übergeben Sie ein -1 an das height LÖSCHEN width Attribute.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzItClient.file_to_image("example.html", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")

Sie können auch Miniaturansichten zurückgeben, die nicht zugeschnitten sind. Beachten Sie jedoch, dass dies zu großen Bildern führen kann. Übergeben Sie dazu ein -1 an das height und / oder width Methoden. Die Dimension, die als -1 übergeben wird, wird nicht zugeschnitten.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.width = -1
options.height = -1

grabzItClient.url_to_image("https://www.tesla.com", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.width = -1
options.height = -1

grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzIt::ImageOptions.new()
options.width = -1
options.height = -1

grabzItClient.file_to_image("example.html", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")
Beachten Sie, dass es keine Browser-Breite in voller Länge gibt!

Wenn Sie diese speziellen Werte verwenden, können Sie einen Screenshot erstellen, der eine Vollversion der gesamten Webseite ist, wenn Sie dies wünschen!

Machen Sie einen Screenshot eines Seitenelements

Mit GrabzIt können Sie einen Screenshot eines HTML-Elements wie z div or span Tag und erfassen Sie den gesamten Inhalt. Dazu muss das HTML-Element, das Sie scannen möchten, als a angegeben werden CSS-Selektor.

...
<div id="features">
	<img src="http://www.example.com/rocket.jpg"/><h3>Rocket Launch Next Week</h3>
</div>
...

Für das folgende Beispiel wählen wir das div mit der ID "features" aus und geben es als 250 x 250px JPEG-Bild aus.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

# The 250 parameters indicates that image should be sized to 250 x 250 px
options = GrabzIt::ImageOptions.new()
options.width = 250
options.height = 250
options.format = "jpg"
options.targetElement = "#features"

grabzItClient.url_to_image("http://www.bbc.co.uk/news", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")

Das nächste Beispiel zeigt einen weiteren Screenshot des Divs "features". Dieses Mal wird jedoch ein JPEG-Bild ausgegeben, das genau die Größe des Divs hat.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

# The -1 indicates that image should not be cropped
options = GrabzIt::ImageOptions.new()
options.width = 250
options.height = 250
options.format = "jpg"
options.targetElement = "#features"
options.browserHeight = -1

grabzItClient.url_to_image("http://www.bbc.co.uk/news", options)
# Then call the save or save_to method
grabzItClient.save_to("result.jpg")