当前位置: 首页 > news >正文

puppeteer注入浏览器指纹过CDP

一、背景

通过puppeteer爬取目标网站时,经常会被对方网站检测到,比如原生puppeteerCDP特征非常明显,另外指纹如果一直不变,也会引发风控

二、实现

通过以下几行代码即可轻松过大部分检测点,并且能够切换指纹,我的电脑是windows系统,显卡是AMD 7800XT,先放效果图:

2.1 检测网站

https://bot.sannysoft.com/

在这里插入图片描述
https://www.browserscan.net/
在这里插入图片描述
在这里插入图片描述
Webdriver、CDP等机器人常规检测:
在这里插入图片描述

2.2 代码

使用的是开源工具,代码非常少,首先是依赖安装
其中fingerprint-generator负责生成指纹,fingerprint-injector负责注入指纹,rebrowser-puppeteer是puppeteer的一个补丁库,主要用于绕过CDP检测

npm install fingerprint-generator fingerprint-injector rebrowser-puppeteer

示例js:

const { FingerprintGenerator } = require('fingerprint-generator');
const { FingerprintInjector } = require('fingerprint-injector');
const puppeteer = require('rebrowser-puppeteer');(async () => {const generator = new FingerprintGenerator(// {//     browsers: [//         {//             name: 'chrome',//             minVersion: 131,//             minVersion: 131//         }//     ]// });const fingerprint = generator.getFingerprint();const browser = await puppeteer.launch({// executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',headless: false,args: ['--disable-blink-features=AutomationControlled','--disable-web-security'],ignoreDefaultArgs: ['--enable-automation']});const page = await browser.newPage();const injector = new FingerprintInjector();await injector.attachFingerprintToPuppeteer(page, fingerprint);// https://www.browserscan.netawait page.goto('https://www.browserscan.net/', {waitUntil: 'networkidle0',timeout: 600000});
})();

相关文章:

  • PyTabKit:比sklearn更强大的表格数据机器学习框架
  • 2025.04.26-淘天春招笔试题-第一题
  • C#进阶学习(十四)反射的概念以及关键类Type
  • C#中的弱引用使用
  • 深入详解人工智能数学基础——微积分中拉格朗日乘数法在GAN训练中的应用
  • (23)VTK C++开发示例 --- 读取所有的PolyData类型示例
  • Apache NetBeans 25 发布
  • dl学习笔记(13):从强化学习到PPO
  • MySQL之视图
  • 基于Docker、Kubernetes和Jenkins的百节点部署架构图及信息流描述
  • 大数据模型现状分析
  • 小程序Npm package entry file not found?
  • 定制一款国密浏览器(12):分析SM2签名算法的实现
  • HTTP 协议深度解析:从基础到实战的完整指南
  • Qt动态库信号崩溃问题解决方案
  • 【实战】基于 Hugging Face 的 LLM 高效微调全解析
  • ASAM MDF 文件格式简介:测量数据的标准化存储
  • Goland终端PowerShell命令失效
  • 量子计算与GPU的异构加速:基于CUDA Quantum的混合编程实践
  • Android7 Input(五)InputDispatcher
  • 拍摄《我们这一代》的肖全开展“江浙沪叙事”
  • 国铁集团郑州局预计“五一”发送642.5万人
  • 中老铁路跨境国际旅客突破50万人次
  • 李铁案二审驳回上诉,维持一审有期徒刑20年的判决
  • 违规行为屡禁不止、责任边界模糊不清,法治日报:洞穴探险,谁为安全事故买单?
  • 游客曝九寨沟打网约车被出租车围堵,官方:前者违规,后者做法不对