Bifrost Logo BifrostNetwork
返回博客文章列表
BifrostNetwork 架构团队

爬虫 / 自动化测试老是被封?搞了一套代理 IP + 指纹浏览器方案

记录如何把住宅代理 IP 和指纹浏览器串起来,用几行代码批量起隔离环境,解决多账号自动化被风控识别的问题。

如果你写过爬虫,或者做过多账号相关的自动化测试,大概率遇到过这些情况:

  • 同一个 IP 跑久了,直接被目标网站封掉
  • 用 Playwright / Puppeteer 起了一堆 headless 浏览器,结果全都长一个”指纹”,分分钟被识别成机器人
  • 想模拟多个独立的浏览环境,手动配置代理、UA、时区、语言这些参数,配一个环境半小时就没了

这篇文章记录一下我们是怎么把「住宅代理 IP」和「指纹浏览器」这两件事串起来,用几行代码就能批量起隔离环境的。

问题拆解

多环境自动化,本质上要解决两个独立又互相关联的问题:

  1. 网络层:每个环境需要不同的出口 IP,而且最好是住宅 IP(数据中心 IP 太容易被风控标记)
  2. 浏览器层:每个环境需要独立的浏览器指纹(Canvas、WebGL、字体、时区等),不能所有环境共用一套指纹

单独解决任一个都不难,难的是把两者绑定起来管理——比如你买了 100 个代理 IP,总不能一个个手动配到浏览器 profile 里。

方案

我们用的组合是:住宅代理 IP(按 GB 计费,$0.5/GB,量大不加价)+ 配套的指纹浏览器工具 BifrostBrowser。

核心思路是:账号绑一次之后,买的代理可以批量导入,自动生成一批独立、互相隔离的浏览器 profile,不用逐个手动配置。工具本身原生支持 UDP/QUIC(不是只有传统 TCP/HTTP 的老架构),覆盖 195+ 国家,也有静态 ISP / 数据中心 / IPv6 线路可选。

用代码跑起来

配套提供 REST API,可以直接接 Python / Playwright / Puppeteer。一个最简单的例子:

import requests
from playwright.sync_api import sync_playwright

# 1. 通过 API 拉取一个 profile(已绑定住宅代理)
resp = requests.post(
    "https://api.bifrostnetwork.cc/v1/profiles",
    json={"country": "US", "proxy_type": "residential"},
    headers={"Authorization": "Bearer YOUR_TOKEN"}
)
profile = resp.json()

# 2. 用 Playwright 连接这个隔离环境
with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(profile["ws_endpoint"])
    page = browser.new_page()
    page.goto("https://example.com")
    print(page.title())
    browser.close()

批量跑的话,把 profile 创建这一步套个循环,配合代理国家/ASN 定向,就能拿到一批指纹互相独立、出口 IP 也不同的浏览器实例,比手动配置省掉了大部分重复劳动。

一些细节

  • 计费是按流量(GB)算的,没有月费,买的流量不会过期,适合用量波动比较大的场景(比如只在某几天集中跑任务)
  • 客户端 Windows / macOS / Linux 都有,指纹浏览器本身免费用,代理流量单独计费
  • 新注册账号有 0.5GB 免费额度,可以先跑通流程再决定要不要买量

小结

如果你的场景是需要「多个互相隔离、出口 IP 不同」的浏览器环境去做自动化(爬虫、多账号管理、广告验证、跨境电商运营等),与其自己手搓代理池 + 反指纹方案,不如看看现成的工具能不能省下这部分时间。

官网:https://bifrostnetwork.cc