Api client for WebShotApi.com. Website screenshot api client, extract html from rendered website extract words with coordinates from website, extract styles from HTML selectors(elements)
Project description
WebShotApi.com API client for Python
Take screenshot and save image in JPG, PNG, PDF. You can also extract selectors for all HTML elements with coordinates and css styles after browser rendering. In our api you can create project and send all you urls to queue. Our server will do all the work for you
Full documentation about our api you can find in this website Website screenshot API DOCS
Installation
Use the package manager pip to install our client in Python.
pip install webshotapi
OR
pip3 install webshotapi
API KEY
Api key you can generate after register. https://webshotapi.com/dashboard/api/
Usage
Take screenshot and save jpg to file
from ApiClient import ApiClient
from ApiException import ApiException
if __name__ == "__main__":
try:
TOKEN = 'YOUR TOKEN HERE'
client = ApiClient(TOKEN)
result = client.screenshot_jpg('https://www.cnn.com',{
'remove_modals': 1
})
if result.save('/tmp/testa.jpg'):
print("File saved")
else:
print("Error with save file")
except ApiException as e:
print("Error:")
print(e)
Take screenshot and save PDF to file
You can covert your html page to invoice in PDF.
from ApiClient import ApiClient
from ApiException import ApiException
if __name__ == "__main__":
try:
TOKEN = 'YOUR TOKEN HERE'
client = ApiClient(TOKEN)
result = client.screenshot_pdf('https://www.example.com',{
'remove_modals': 1
})
if result.save('/tmp/test.pdf'):
print("File saved")
else:
print("Error with save file")
except ApiException as e:
print("Error:")
print(e)
Extract words map and HTML elements with css styles after rendering
Unique software to extract all selectors for HTML elements from website with css styles after browser rendering. Additionally you can extract all words with position (x,y,width, height, offset from previous word). Thank that you can build words map of website.
Sample script:
from webshotapi.ApiClient import ApiClient
from webshotapi.ApiException import ApiException
if __name__ == "__main__":
try:
#create object
TOKEN = 'YOUR TOKEN HERE'
client = ApiClient(TOKEN)
#send request
result = client.extract('https://www.example.com',{
'no_cache': 1,
'extract_selectors': 1,
'extract_style': 1
'extract_words': 1,
'extract_html': 1,
'extract_text': 1
})
#print json data from result
print(result.get_data())
except ApiException as e:
print("Error:")
print(e)
Results
{
"selectors": [
{
"xpath": "/html/body",
"x": 1212,
"y": 17,
"w": 117,
"h": 25,
"style": {
"visibility": "visible",
"display": "inline",
"fontWeight": "400",
"backgroundImage": "none",
"cursor": "pointer",
"fontSize": "22px",
"color": "rgb(255, 255, 255)",
"position": "static",
"textDecoration": "none solid rgb(255, 255, 255)",
"text-decoration-line": "none",
"backgroundColor": "rgba(0, 0, 0, 0)"
},
"class": ".col-12 col-sm-12",
"id": "#price",
"itemprop": "price"
}
],
"words": [
{
"xpath": "/html/body/div[1]/div[2]/div/div[2]/ul/li[5]/a",
"word": "Welcome",
"position": {
"x": 434.8,
"y": 343.4,
"w": 434,
"h": 43
},
"word_index": 2,
"offset": 14
}
],
"html": "<!doctype html><html lang='en' dir='ltr'><head><base hr...",
"text": "Welcome in our page\nToday is Monday...",
"screenshot_url": "https://api.webshotapi.com/v1/screenshot/?token=....&width=1920&height=960",
"status_code": 200
}
API docs
Full documentation about our api you can find in this website API DOCS
About our service
You can use our service with free plan for 100 free requests
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for webshotapi-1.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d8de38fcd0c8d4b4b93ce49627003ce5ddb2f083c74d177377d078e3b3455bf |
|
MD5 | b6fe6e4402b5169cda92e67c5514815b |
|
BLAKE2b-256 | c8219e5147b82d29f2ae8ecfab2af4bac3a167d027143d806bb98c77fd0b6660 |