七分醒博客
  • 首页
  • Affiliate Marketing
    • Adsense系列教程
    • Facebook广告投放
    • Youtube基础入门
  • 程序语言
  • 工具与技巧
  • 七分醒随笔
  • 联系方式
  1. 首页
  2. Fingerprint Browser系列教程
  3. 正文

【Fingerprint Browser系列】六、node.js库Puppeteer改变浏览器指纹信息

2022年03月31日 5067点热度 7人点赞 0条评论

浏览器插件形式改变指纹

Fingerprint Browser系列教程目录:
一、Fingerprint Browser的原理与应用
二、浏览器指纹的检测与对抗的办法
三、更多的检测手段与Fingerprint Browser选购方案
四、命令行形式浏览器多开解决方案
五、浏览器插件形式改变指纹
六、node.js库Puppeteer改变浏览器指纹信息
七、python改变浏览器指纹信息
八、java、go、c#、php、rust更改浏览器指纹信息
九、编写自己的Fingerprint Browser以及指纹信息来源
十、闲话聊一聊Fingerprint Browser的用途

puppeteer实在是太有名了,这里就不做多的介绍了,总之就是谷歌官方给谷歌浏览器配套的自动化测试工具。
具体使用教程太多了,这里就不讲那些基础的了,只是说下如何伪装浏览器的指纹。
因为puppeteer太有名,用的人多,所以就有人给它开发了第三方的插件。
今天我们要说的插件就是https://github.com/berstend/puppeteer-extra 这个库里面的stealth。
地址:
https://github.com/berstend/puppeteer-extra/blob/master/packages/puppeteer-extra-plugin-stealth
它通过勾住browser的page创建过程,将反指纹检测js代码插入到page里,做到伪装或隐藏浏览器指纹的作用。
具体步骤:
安装这些库npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
运行代码

// puppeteer-extra is a drop-in replacement for puppeteer,
// it augments the installed puppeteer with plugin functionality
const puppeteer = require('puppeteer-extra')

// add stealth plugin and use defaults (all evasion techniques)
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
puppeteer.use(StealthPlugin())

// puppeteer usage as normal
puppeteer.launch({ headless: true }).then(async browser => {
  console.log('Running tests..')
  const page = await browser.newPage()
  await page.goto('https://bot.sannysoft.com')
  await page.waitForTimeout(5000)
  await page.screenshot({ path: 'testresult.png', fullPage: true })
  await browser.close()
  console.log(`All done, check the screenshot. ✨`)
})

默认不设置浏览器是以无界面的headless模式运行的,而这个模式下,网站是可以知道你是在这种爬虫模式而非正常人访问模式的,也就是js可以检测到webdriver为true。
那么当加载了这个stealth插件后,网站就不会检测到这些信息了,非常好用。
下面是不使用stealth插件在无头模式下访问指纹检测网站的截图:
file
下面是使用stealth插件后访问在线指纹检测网站的截图:
file

可以看到对比相当明显,这个插件虽然好用,但是它里面的指纹信息都是固定的,没法自定义,如果需要自定义就需要对这个插件进行二次开发了。
puppeteer-extra这个插件里面还有adBlocker和反谷歌验证码等功能,非常强大,有需要的可以都去尝试下。

本文由七分醒博客原创,转载请注明:/node-js-library-puppeter-changes-browser-fingerprint-information.html

文章同步更新在知乎:七分醒 - 知乎

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: node.js puppeteer puppeteer Fingerprint Browser 浏览器指纹
最后更新:2022年03月31日

七分醒

/about-me

点赞
< 上一篇
下一篇 >
2TB终身网盘
建了个群,想一起交流的可以加入下
最新 热点 随机
最新 热点 随机
解决中文Windows11编译chromium过程中报错gbk问题 什么人必须买抗投诉服务器DMCA Ignored Hosting APP里面增加cloak的跑法可行性研究 Facebook Dating友缘是什么账号,能用来干什么? 【Fingerprint Browser系列】十、闲话聊一聊Fingerprint Browser的用途 【Fingerprint Browser系列】九、 编写自己的Fingerprint Browser以及指纹信息的来源
批量安全页管理系统使用教程 2019上半年总结 PYppeteer的替代品PuPHPeteer和PyExecJS的尝试 18元购买的阿里云vip dns解析,效果到底如何? 什么人必须买抗投诉服务器DMCA Ignored Hosting pyppeteer使用遇到的bug及解决方法
标签聚合
TrafficArmor 浏览器指纹 Youtube Adsense pyppeteer Adsense Fingerprint Browser markdown插件 facebook广告投放

COPYRIGHT © 2020 七分醒博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

关于我: about-me 友情链接: 七分醒的小伙伴们