通用指纹浏览器管理器,支持 fp-manager / AdsPower / BitBrowser 三种浏览器,插拔式驱动设计,业务侧只需三行代码。
pip install fp-browser-manager按需安装驱动依赖:
pip install fp-browser-manager[fp] # fp-manager 驱动(含 psutil)
pip install fp-browser-manager[ads] # AdsPower / SunBrowser 驱动
pip install fp-browser-manager[bit] # BitBrowser 驱动
pip install fp-browser-manager[all] # 全部驱动from fp_manager import BrowserManager, start_background_cleanup
mgr = BrowserManager.create(kind="fp") # kind: "fp" | "ads" | "bit"
start_background_cleanup() # 启动后台孤儿清理守护线程
# 创建并打开浏览器
brid = mgr.create()
port = mgr.get_port(brid)
# 业务代码...
print(f"Browser debug port: {port}")
# 关闭浏览器
mgr.close(brid)如只需 fp-manager HTTP API 而不需要管理器,直接用 fp_manager.api:
from fp_manager.api import FpBrowser, FpManagerClient, ProxyConfig
# 低级 API 客户端
client = FpManagerClient("http://127.0.0.1:17890")
session = client.create_and_start(name="test", template="truepeoplesearch")
print(session.remote_debug_port)
# 高级浏览器封装
fp = FpBrowser()
browser = fp.create_and_open(proxy=("host", 10000, "user", "pass"))
fp.close_browser(browser.id)| 浏览器 | kind 参数 | 默认端口 |
|---|---|---|
| fp-manager | "fp" |
http://127.0.0.1:17890 |
| AdsPower / SunBrowser | "ads" |
http://127.0.0.1:50325 |
| BitBrowser | "bit" |
http://127.0.0.1:54345 |
# BrowserManager 实例方法
mgr.create(proxy=None) # 创建并打开浏览器,返回 profile_id
mgr.get_port(brid) # 获取 debug_port(Selenium / Playwright 接入用)
mgr.close(brid) # 关闭浏览器
# 后台清理(进程启动一次即可)
start_background_cleanup() # 启动孤儿进程扫描 + 未绑定 profile 清理
stop_background_cleanup() # 停止后台清理如需接入其他指纹浏览器,实现 FpDriver / AdsDriver / BitDriver Protocol 并注入即可:
from fp_manager import FpBrowserManager
from fp_manager.drivers.base import FpDriver
class MyDriver(FpDriver):
...
mgr = FpBrowserManager(driver=MyDriver())