Skip to content

camoufoxvshrequests

MPL-2.0 244 3 7,089
1.0 million (month) Mar 01 2024 0.4.11(2025-01-29 09:33:18 ago)
1,001 1 51 MIT
Feb 23 2022 33.3 thousand (month) 0.9.2(2024-12-01 02:55:27 ago)

Camoufox is an anti-detect browser built on Firefox, designed specifically for web scraping and browser automation while evading bot detection systems. Unlike Chrome-based anti-detect solutions, Camoufox uses a patched version of Firefox with over 100 modifications to prevent fingerprinting and detection.

Key features include:

  • Firefox-based stealth Uses Firefox instead of Chrome, which has different fingerprinting characteristics and is less commonly targeted by anti-bot systems. The browser is patched at the C++ level to prevent JavaScript-based fingerprint leaks.
  • Realistic fingerprints Generates and applies realistic browser fingerprints including screen resolution, WebGL renderer, fonts, and other browser properties that match real user configurations.
  • Playwright integration Works seamlessly with Playwright for Python, providing the familiar Playwright API while running through the stealth-patched Firefox instance.
  • Proxy support Built-in proxy support with authentication, including residential proxy rotation.
  • Geolocation spoofing Can spoof browser geolocation to match proxy IP location for consistent fingerprints.
  • Human-like behavior Includes utilities for adding human-like mouse movements and typing patterns.

Camoufox is particularly effective against sophisticated anti-bot systems that detect Chrome-based automation tools. By using Firefox as the base, it avoids many Chrome-specific detection vectors while the deep browser patches prevent general fingerprinting techniques.

hrequests is a feature rich modern replacement for a famous requests library for Python. It provides a feature rich HTTP client capable of resisting popular scraper identification techniques: - Seamless transition between headless browser and http client based requests - Integrated HTML parser - Mimicking of real browser TLS fingerprints - Javascript rendering - HTTP2 support - Realistic browser headers

Highlights


anti-detectstealth
bypasshttp2tls-fingerprinthttp-fingerprintsyncasync

Example Use


```python from camoufox.sync_api import Camoufox # Launch stealth Firefox browser with Camoufox(headless=True) as browser: page = browser.new_page() # Navigate - the browser appears as a real Firefox user page.goto("https://example.com") # Use standard Playwright API for interaction page.fill("input[name='search']", "web scraping") page.click("button[type='submit']") # Extract data results = page.query_selector_all(".result") for result in results: title = result.query_selector("h3").text_content() print(title) # With proxy and custom fingerprint from camoufox.sync_api import Camoufox with Camoufox( headless=True, proxy={"server": "http://proxy.example.com:8080"}, geoip=True, # auto-match geolocation to proxy IP ) as browser: page = browser.new_page() page.goto("https://example.com") print(page.content()) ```
hrequests has almost identical API and UX as requests and here's a quick overview: ```python import hrequests # perform HTTP client requests resp = hrequests.get('https://httpbin.org/html') print(resp.status_code) # 200 # use headless browsers and sessions: session = hrequests.Session('chrome', version=122, os="mac") # supports asyncio and easy concurrency requests = [ hrequests.async_get('https://www.google.com/', browser='firefox'), hrequests.async_get('https://www.duckduckgo.com/'), hrequests.async_get('https://www.yahoo.com/'), hrequests.async_get('https://www.httpbin.org/'), ] responses = hrequests.map(requests, size=3) # max 3 conccurency ```

Alternatives / Similar


Was this page helpful?