fingerprint-suite 实战:5 种操作系统的浏览器指纹一次配好
发布时间:2026/10/21 2:53:10 锦皓数字建站

fingerprint-suite 实战5 种操作系统的浏览器指纹一次配好【免费下载链接】fingerprint-suiteBrowser fingerprinting tools for anonymizing your scrapers. Developed by Apify.项目地址: https://gitcode.com/GitHub_Trending/fi/fingerprint-suite爬虫被反爬拦截时先检查自己的浏览器指纹问题往往不是 headers 写错了而是每次请求都像同一台 Windows 上的 Chrome。fingerprint-suite 是 Apify 出品的浏览器指纹工具集能按目标操作系统、浏览器、设备生成匹配的浏览器指纹——从 HTTP headers 到 JS API并注入 Playwright / Puppeteer。本文用其中的 header-generator 子包演示如何生成指定操作系统的浏览器指纹。先看效果一套 Windows 浏览器 headers 长什么样先给一份单次调用就能产出的真实结果{ sec-ch-ua-mobile: ?0, sec-ch-ua-platform: \Windows\, user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0, accept-encoding: gzip, deflate, br, accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,*/*;q0.8,application/signed-exchange;vb3;q0.7, sec-ch-ua: \Microsoft Edge\;v\119\, \Chromium\;v\119\, \Not?A_Brand\;v\24\, upgrade-insecure-requests: 1, accept-language: en-US, sec-fetch-site: same-site, sec-fetch-mode: navigate, sec-fetch-user: ?1, sec-fetch-dest: document }看点user-agent里的Windows NT、sec-ch-ua-platform里的Windows、sec-ch-ua里的版本号三处相互自洽甚至 header 的排列顺序都是 Edge 特有的顺序库按浏览器排序顺序表存在 headers-order.json 里。这些全部基于真实浏览器数据集上的概率网络输出重复调用会给出不同但都合理的组合不用手工拼字符串。两条命令装好并配好 header-generator# 使用已发布的包 npm install header-generator # 想翻源码则克隆仓库 git clone https://gitcode.com/GitHub_Trending/fi/fingerprint-suite核心类是HeaderGeneratorheader-generator.ts最小配置如下import { HeaderGenerator } from header-generator; const generator new HeaderGenerator({ browsers: [chrome], operatingSystems: [windows], devices: [desktop], locales: [en-US], httpVersion: 2, }); const headers generator.getHeaders();选项含义直白operatingSystems选操作系统可取值windows/macos/linux/android/ios见 constants.tsbrowsers支持chrome/firefox/safari/edgedevices分desktop/mobilelocales会拼进accept-language字段最多 10 个httpVersion取1或2默认2。一个参数都不传也能跑——默认全系统 全浏览器 桌面端 en-US输出依然合理。多操作系统与多浏览器组合技巧想一次覆盖多种用户把数组写满就行const generator new HeaderGenerator({ operatingSystems: [windows, macos], browsers: [chrome, firefox], devices: [desktop], }); // 每次调用按上面的约束随机抽一组 generator.getHeaders();getHeaders()每调一次随机生成一套爬虫连发多个请求时多调用几次天然产生多样性。再补三个常用手法单次覆盖getHeaders({ operatingSystems: [linux], locales: [en-US, en] })构造器配置打底只改差异项。锁版本browsers支持对象如{ name: chrome, minVersion: 110 }只从该版本以上采样。预设PRESETS.MODERN_WINDOWS_CHROME就是 Windows 桌面 近 5 版 Chrome定义在 presets.ts直接传给构造器即可。一个值得知道的坑配了不可能的组合例如 iOS chrome时默认行为会按locales → devices → operatingSystems → browsers的顺序自动放宽条件直到能生成想让报错直接暴露问题就设strict: true。另外getHeaders的第二个参数可传请求相关的字段如host会被合并进结果——生成结果本身不含这些需要自己补。校验指纹一致性并注入真实爬虫怎么确认指纹自洽看user-agent里的系统令牌Windows 系统是Windows NTmacOS 是Mac OS X再核对sec-ch-ua-platform是否对得上两处一致就基本可用。如果只想改 headers 到此为止要动整个浏览器含 JS API用同仓库的fingerprint-injector源码见 packages/fingerprint-injectorimport { newInjectedContext } from fingerprint-injector; const context await newInjectedContext(browser, { fingerprintOptions: { operatingSystems: [ios], devices: [mobile], }, });传进的是同一套约束选项得到的却是完整伪装的浏览器上下文HTTP 层和navigator相关 API 一起被覆盖。说到底就是给operatingSystems和相关约束其余交给概率网络。构造器选项吃透后桌面、移动、五种系统随便切。【免费下载链接】fingerprint-suiteBrowser fingerprinting tools for anonymizing your scrapers. Developed by Apify.项目地址: https://gitcode.com/GitHub_Trending/fi/fingerprint-suite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。