Skip to main content

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

MIT

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

webshotapi-1.0.0.tar.gz (9.6 kB view hashes)

Uploaded Source

Built Distribution

webshotapi-1.0.0-py3-none-any.whl (10.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page