Socket
Book a DemoInstallSign in
Socket

spider-fingerprint-py

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spider-fingerprint-py

The spider_fingerprint project for python.

pipPyPI
Version
0.0.20
Maintainers
1

spider_fingerprint_py

Python bindings for the spider_fingerprint Rust crate.

spider_fingerprint_py allows you to easily generate browser fingerprint and stealth scripts. 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,
    PyHeaderDetailLevel,
    generate_emulation_script,
    generate_emulation_headers,
    spoof_ua
)

# Generate a random real user-agent.
user_agent = spoof_ua()

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

# Real browser headers based on the agent.
headers = generate_emulation_headers(
    user_agent=user_agent,
    header_map=None,
    hostname=None,
    viewport=viewport,
    domain_parsed=None,
    header_detail_level=PyHeaderDetailLevel.Extensive,
)

# 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)

# Make sure to remove Referer if being used with Network.setExtraHTTPHeaders before use.
print("Stealth Emulation Headers:\n")
print(headers)

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.

AttributeTypeDescription
widthintViewport width in pixels
heightintViewport height in pixels
device_scale_factorfloat or NoneDevice pixel ratio (e.g., 2.0 for Retina)
emulating_mobileboolEnable emulation of mobile-device behavior
is_landscapeboolLandscape (True) or Portrait (False) orientation
has_touchboolSimulate 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.

VariantDescription
BasicBasic stealth spoofing capabilities including GPU/WebGL spoofing.
BasicWithConsoleBasic stealth mode combined with console output (for debugging).
BasicNoWebglBasic stealth spoofing without WebGL spoofing techniques.
MidIntermediate stealth protections with improved spoofing coverage.
FullComprehensive stealth protections covering most fingerprinting.
NoneNo spoofing; original browser fingerprint exposed fully.

Example:

tier = PyTier.Full

Testing

  • maturin develop
  • pytest -s test_spider_fingerprint.py

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts