Tools om het web vast te leggen en te converteren

Maak website-screenshots of converteer HTML naar afbeeldingen

Python API

Maak perfecte afbeeldingen van websites of converteer HTML rechtstreeks naar afbeeldingen met behulp van de volgende functies van GrabzIt's Python API. Onthoud echter voordat u begint dat nadat u de URLToImage, HTMLToImage or FileToImage methoden de Save or SaveTo methode moet worden aangeroepen om de screenshot te maken.

Basisopties

Er is slechts één parameter vereist om een ​​screenshot te maken van een webpagina of HTML omzetten inteen afbeelding zoals getoond in het volgende voorbeeld.

grabzIt.URLToImage("https://www.tesla.com")
# Then call the Save or SaveTo method
grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>")
# Then call the Save or SaveTo method
grabzIt.FileToImage("example.html")
# Then call the Save or SaveTo method

Image Formaten

De Python API van GrabzIt kan beeldafbeeldingen maken in verschillende formaten, waaronder JPG, PNG, WEBP, BMP (8 bit, 16 bit, 24 bit of 32 bit) en TIFF. Het standaardformaat voor schermafbeeldingen van afbeeldingen is JPG. In sommige omstandigheden is de kwaliteit van een JPG-afbeelding echter niet goed genoeg voor sommige toepassingen. Het PNG-formaat wordt aanbevolen voor schermafbeeldingen van afbeeldingen, omdat het een goede balans biedt tussen kwaliteit en bestandsgrootte. In het onderstaande voorbeeld wordt een screenshot van een afbeelding gemaakt met het PNG-formaat.

from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.format = "png"

grabzIt.URLToImage("https://www.tesla.com", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.png")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.format = "png"

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.png")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.format = "png"

grabzIt.FileToImage("example.html", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.png")

Browsergrootte

De browsergrootte verwijst naar de grootte van het browservenster die wordt gebruikt bij het maken van de schermafbeelding. In de meeste gevallen hoeft dit niet te worden ingesteld, omdat de standaardbrowser voldoende is voor bijna alle taken. Om de standaard browsergrootte te gebruiken, geeft u gewoon door 0 aan de browserWidth en browserHeight attributen van de GrabzItImageOptions klasse.

Wijzig afbeeldingsgrootte

Het wijzigen van de grootte van een afbeelding is eenvoudig, het is een beetje moeilijker zonder de afbeelding te vervormen. Om het hele proces eenvoudiger te maken, raden we u aan dit te gebruiken eenvoudige beeldafmetingscalculator.

Als u de breedte en hoogte van de afbeelding wilt vergroten tot een grootte die groter is dan de breedte en hoogte van de browser, die standaard 1366 bij 728 pixels is, moeten de breedte en hoogte van de browser ook worden aangepast om overeen te komen.

Aangepaste identificatie

U kunt een aangepaste identificatie doorgeven aan de beeld methoden zoals hieronder weergegeven, wordt deze waarde vervolgens teruggegeven aan uw GrabzIt Python-handler. Deze aangepaste identificatie kan bijvoorbeeld een database-identificatie zijn, waardoor een screenshot kan worden gekoppeld aan een bepaald database-record.

from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.customId = "123456"

grabzIt.URLToImage("https://www.tesla.com", options)
# Then call the Save method
grabzIt.Save("http://www.example.com/handler.py")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.customId = "123456"

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the Save method
grabzIt.Save("http://www.example.com/handler.py")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.customId = "123456"

grabzIt.FileToImage("example.html", options)
# Then call the Save method
grabzIt.Save("http://www.example.com/handler.py")

Screenshot op volledige lengte

Met GrabzIt kunt u een volledige screenshot maken van een hele webpagina om dit te doen moet u een -1 doorgeven aan de browserHeight attribuut. Om ervoor te zorgen dat de afbeelding overeenkomt met de grootte van de browser, geeft u dit een -1 door aan de height en width attributen.

from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzIt.URLToImage("https://www.tesla.com", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.browserHeight = -1
options.width = -1
options.height = -1

grabzIt.FileToImage("example.html", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")

U kunt ook miniaturen retourneren die niet zijn bijgesneden, maar let op dit kan grote afbeeldingen maken. Geef hiervoor een -1 door aan de height en / of width attributen. De dimensie die wordt doorgegeven als een -1 wordt niet bijgesneden.

from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.width = -1
options.height = -1

grabzIt.URLToImage("https://www.tesla.com", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.width = -1
options.height = -1

grabzIt.HTMLToImage("<html><body><h1>Hello World!</h1></body></html>", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")
from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

options = GrabzItImageOptions.GrabzItImageOptions()
options.width = -1
options.height = -1

grabzIt.FileToImage("example.html", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")
Let op: er is geen browserbreedte over de volledige lengte!

Als u deze speciale waarden gebruikt, kunt u desgewenst een screenshot maken van een volledige versie van de hele webpagina.

Maak een screenshot van een pagina-element

Met GrabzIt kunt u een screenshot maken van een HTML-element, zoals een div or span tag, en leg al zijn inhoud vast. Om dit te doen, moet het HTML-element waarvan u een screenshot wilt maken, worden opgegeven als een CSS-selector.

...
<div id="features">
	<img src="http://www.example.com/race.jpg"/><h3>Car Race Tommorow</h3>
</div>
...

Voor het onderstaande voorbeeld selecteren we de div met de id "features" en voeren deze uit als een 250 x 250px JPEG-afbeelding.

from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("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 = GrabzItImageOptions.GrabzItImageOptions()
options.width = 250
options.height = 250
options.format = "jpg"
options.targetElement = "#features"

grabzIt.URLToImage("http://www.bbc.co.uk/news", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")

In het volgende voorbeeld wordt nog een screenshot gemaakt van de div "features", maar deze keer wordt een JPEG-afbeelding met de exacte grootte van de div uitgevoerd.

from GrabzIt import GrabzItImageOptions
from GrabzIt import GrabzItClient

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")

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

grabzIt.URLToImage("http://www.bbc.co.uk/news", options)
# Then call the Save or SaveTo method
grabzIt.SaveTo("result.jpg")