Skip to main content
Glama
指纹浏览器.md5.27 kB
以下是实现真实浏览器指纹的主流方案: --- ## 🔥 推荐方案(按效果排序) ### 1. Camoufox(最强推荐)⭐⭐⭐⭐⭐ Camoufox 是最现代、有效且面向未来的开源反检测浏览器解决方案,性能超过大多数商业反检测浏览器。 这个 Python 库包装了 Playwright API,自动生成并注入独特的设备特征(OS、CPU 信息、navigator、字体、headers、屏幕尺寸、视口大小、WebGL、插件等)。它在底层使用 BrowserForge 生成模拟真实流量设备特征统计分布的指纹。 ```bash pip install -U camoufox[geoip] python -m camoufox fetch ``` ```python from camoufox import Camoufox with Camoufox( os="windows", # 指定操作系统 headless=True, geoip=True, # 自动匹配代理地理位置 humanize=True # 模拟人类行为 ) as browser: page = browser.new_page() page.goto("https://bot.sannysoft.com") ``` Camoufox 使用 BrowserForge 轮换设备信息(如屏幕、操作系统和硬件),模拟真实流量中设备特征的统计分布。此外,Camoufox 使用自然鼠标移动算法来模拟正常用户行为。所有 Playwright 内部的 Page Agent JavaScript 都被沙箱隔离,使页面无法检测到 Playwright 的存在。数据在 C++ 实现层被拦截,使更改无法通过 JavaScript 检测。 --- ### 2. fingerprint-suite(Apify 开发)⭐⭐⭐⭐ fingerprint-generator 生成真实浏览器指纹,影响 HTTP headers 和浏览器 JS API;fingerprint-injector 将浏览器指纹注入到 Playwright 或 Puppeteer 管理的浏览器实例中。 ```bash npm install fingerprint-injector fingerprint-generator playwright ``` ```javascript import { chromium } from 'playwright'; import { newInjectedContext } from 'fingerprint-injector'; const browser = await chromium.launch({ headless: false }); const context = await newInjectedContext(browser, { fingerprintOptions: { devices: ['mobile'], operatingSystems: ['ios'], }, newContextOptions: { geolocation: { latitude: 51.50853, longitude: -0.12574 }, }, }); const page = await context.newPage(); ``` --- ### 3. playwright-with-fingerprints ⭐⭐⭐ 这个库允许你更改浏览器指纹并使用增强匿名性的 playwright 自动化框架。浏览器指纹是一种通过浏览器属性组合来识别用户的技术,如字体、分辨率、插件列表、navigator 属性等。使用此包替换指纹后,网站将无法从其他用户中识别你,因为所有这些属性和 API 调用结果都将被替换为真实设备的值。 ```bash npm install playwright-with-fingerprints ``` ```javascript const { plugin } = require('playwright-with-fingerprints'); const fingerprint = await plugin.fetch('', { tags: ['Microsoft Windows', 'Chrome'], }); plugin.useFingerprint(fingerprint); const browser = await plugin.launch(); const page = await browser.newPage(); ``` --- ### 4. BrowserForge(Python 指纹生成器)⭐⭐⭐ BrowserForge 是一个浏览器 header 和指纹生成器,模拟真实网络流量中不同浏览器、操作系统和设备的频率分布。它是 Apify fingerprint-suite 的 Python 重新实现,使用贝叶斯生成网络来模拟实际网络流量。 ```bash pip install browserforge[all] python -m browserforge update ``` ```python from browserforge.fingerprints import FingerprintGenerator from browserforge.headers import HeaderGenerator # 生成指纹 fg = FingerprintGenerator() fingerprint = fg.generate( browser='chrome', os='windows', device='desktop' ) # 生成 headers hg = HeaderGenerator() headers = hg.generate(browser='chrome') ``` > ⚠️ BrowserForge 中的指纹注入已被弃用,请改用 Camoufox。 --- ### 5. Patchright ⭐⭐⭐ Patchright 是 Playwright 的直接替代品,它对默认 Playwright 启动配置进行了一些调整,使其不可被检测。 ```bash pip install patchright patchright install chromium ``` ```python from patchright.async_api import async_playwright async with async_playwright() as p: browser = await p.chromium.launch(channel="chrome", headless=False) page = await browser.new_page() await page.goto("https://bot.sannysoft.com") ``` --- ## 📊 指纹组成要素 | 类别 | 属性 | |------|------| | **Navigator** | userAgent, platform, language, hardwareConcurrency, deviceMemory | | **Screen** | width, height, colorDepth, pixelRatio | | **WebGL** | vendor, renderer, extensions | | **Canvas** | 渲染指纹 | | **Audio** | AudioContext 指纹 | | **Fonts** | 系统字体列表 | | **时区** | timezone, locale | | **插件** | plugins, mimeTypes | --- ## 🎯 最佳实践 保持指纹一致性,确保所有浏览器特征与你选择的配置文件一致——user agent、视口大小、时区、语言设置和 API 响应必须全部匹配。使用基于会话的方法,在多个页面访问中保持相同的指纹,避免在同一会话中混合来自不同浏览器类型的特征。 **推荐组合方案:** 1. **最强方案**: Camoufox + 住宅代理 + GeoIP 匹配 2. **JS 方案**: playwright-extra + fingerprint-suite + 代理轮换 3. **轻量方案**: Patchright + 基础指纹伪装

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/luyike221/xiaohongshu-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server