Skip to main content

Python library for Cloudflare Browser Rendering APIs

Project description

browserflare

Python library for the Cloudflare Browser Rendering APIs.

Prefer a GUI App? Look at our desktop app - browserflare.xyz.

Install

pip install browserflare

Setup

Add your Cloudflare credentials to .env:

CF_ACCOUNT_ID=your_account_id
CF_API_TOKEN=your_api_token

Usage

from browserflare import start_crawl, build_crawl_payload, poll_until_complete, save_results

# Build a crawl payload
payload = build_crawl_payload(
    url="https://browserflare.xyz",
    limit=10,
    formats=["markdown"],
)

# Start the crawl
job_id, err = start_crawl(payload)

# Wait for completion
result, err = poll_until_complete(job_id)

# Save results
save_results(job_id, result, formats=["markdown"])

Screenshots

from browserflare import take_screenshot, build_screenshot_payload, save_screenshot

payload = build_screenshot_payload(url="https://browserflare.xyz", full_page=True)
image_bytes, content_type, err = take_screenshot(payload)
filepath = save_screenshot("https://browserflare.xyz", image_bytes, content_type)

PDFs

from browserflare import generate_pdf, build_pdf_payload, save_pdf

payload = build_pdf_payload(url="https://browserflare.xyz", format="a4")
pdf_bytes, content_type, err = generate_pdf(payload)
filepath = save_pdf("https://browserflare.xyz", pdf_bytes)

Project Structure

src/browserflare/
  __init__.py              # Public re-exports
  exceptions.py            # MissingCredentialsError, etc.
  config.py                # .env loading, API config, constants
  api.py                   # HTTP: start, poll, paginate, cancel crawls
  jobs.py                  # crawl_jobs.json management
  output.py                # Save crawl results, search, stats, diff
  batch.py                 # Batch crawling from URL list
  payloads.py              # Payload builders for crawl, screenshot, PDF
  screenshot_api.py        # POST to /screenshot endpoint
  screenshot_output.py     # Save screenshots + JSON log
  pdf_api.py               # POST to /pdf endpoint
  pdf_output.py            # Save PDFs + JSON log

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

browserflare-0.1.1.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

browserflare-0.1.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file browserflare-0.1.1.tar.gz.

File metadata

  • Download URL: browserflare-0.1.1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for browserflare-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a9f73e492a62a9cc7639ad38db792c2b332f23246e9dec4ee5435bba9353b286
MD5 5040299437a04369ec2f3a4038801ae1
BLAKE2b-256 c93ee4ed2f311208a022848ec2a5349763f7ce85ceff3deaaaac9141828495e7

See more details on using hashes here.

File details

Details for the file browserflare-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: browserflare-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for browserflare-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 57586b6160a312b1c8e26efc7f07b9dc7be1b2cf69f6d4402c237296f4f918d0
MD5 c978b187b819ae7603e63d22982f2adf
BLAKE2b-256 c7bca7569fbca2ac66a11066a2cd93e116ca9924160df4c2bfec408ce24c9478

See more details on using hashes here.

Supported by

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