Skip to main content

The spider_fingerprint project for python.

Project description

spider_fingerprint_py

Python bindings for the spider_fingerprint Rust crate, leveraging PyO3 for improved type safety, reliability, and performance.

spider_fingerprint_py allows you to easily generate browser fingerprint and stealth scripts directly from Python. It's ideal for effective automation, web scraping, bot-test evasion, and security testing workflows.


Installation

Install from PyPI:

pip install spider_fingerprint_py

Quick Start

Here's how to generate a stealth emulation JavaScript in a few lines of Python:

from spider_fingerprint_py import (
    PyViewport,
    PyTier,
    PyFingerprintMode,
    generate_emulation_script,
)

user_agent = (
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
    "AppleWebKit/537.36 (KHTML, like Gecko) "
    "Chrome/120.0.0.0 Safari/537.36"
)

# Random viewport simulating a real user
viewport = PyViewport.random()

# Generate the fingerprint spoofing script
script = generate_emulation_script(
    user_agent=user_agent,
    tier=PyTier.Full,
    fingerprint_mode=PyFingerprintMode.Basic,
    dismiss_dialogs=True,
    viewport=viewport,
    eval_script=None
)

print("Stealth Emulation JavaScript:\n")
print(script)

Documentation

Below you'll find complete reference documentation for classes, enums, and functions provided by the spider_fingerprint_py Python library:


PyViewport (class)

Represents viewport configurations for browser fingerprint emulation.

Attribute Type Description
width int Viewport width in pixels
height int Viewport height in pixels
device_scale_factor float or None Device pixel ratio (e.g., 2.0 for Retina)
emulating_mobile bool Enable emulation of mobile-device behavior
is_landscape bool Landscape (True) or Portrait (False) orientation
has_touch bool Simulate touch-enabled devices

Usage Example:

viewport = PyViewport(1280, 720)
viewport.emulating_mobile = True
viewport.device_scale_factor = 2.0
viewport.is_landscape = False
viewport.has_touch = True

PyTier (enum)

Controls the aggressiveness and scope of stealth applied through fingerprint spoofing.

Variant Description
Basic Basic stealth spoofing capabilities including GPU/WebGL spoofing.
BasicWithConsole Basic stealth mode combined with console output (for debugging).
BasicNoWebgl Basic stealth spoofing without WebGL spoofing techniques.
Mid Intermediate stealth protections with improved spoofing coverage.
Full Comprehensive stealth protections covering most fingerprinting.
None No spoofing; original browser fingerprint exposed fully.

Example:

tier = PyTier.Full

PyAgentOs (enum)

Defines operating system target profiles for browser fingerprint emulation.

Variant Description
Linux Linux operating system fingerprint and profile emulation.
Mac macOS fingerprint and browser environment emulation.
Windows Windows operating system fingerprint emulation.
Android Android device fingerprint and browser emulation.

Example:

agent_os = PyAgentOs.Mac

Testing

  1. maturin develop
  2. pytest -s test_spider_fingerprint.py

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

spider_fingerprint_py-0.0.2.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

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

spider_fingerprint_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl (253.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

File details

Details for the file spider_fingerprint_py-0.0.2.tar.gz.

File metadata

File hashes

Hashes for spider_fingerprint_py-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1620a4ecf7c731624548382f6950b7ebd907dcdcfba72c056e74e3e816079bfd
MD5 07ee7967abe4966ddc02a8d1f6a60100
BLAKE2b-256 6c5a499f41edae063edfe4b4cfd446c4ded7e97de18222ff9751e04cb21c8005

See more details on using hashes here.

File details

Details for the file spider_fingerprint_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spider_fingerprint_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17dbc34675b717dcbe6c603b96e402a717e897aee8b57bc2a74bfaab0e4ed878
MD5 3df15f9a12a2b66150c3889ad92d8f26
BLAKE2b-256 bfb6e85a9bbb9bf6e3c3673ae6df87bc2d765afb9e6c1766992b7ad004b14214

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