Den*_*ise 6 akamai headless puppeteer
您好,我正在尝试抓取一个由 Akamai 提供支持的网站以进行机器人程序保护。由于 Akamai 阻止我的登录请求,我无法通过登录页面。
首先我想说的是,是的,有很多关于如何避免被 Akamai 等公司检测到的指南,但这些指南现在已经无关紧要,因为 Akamai 这样的公司通过使用 AI 检测新机器人而变得越来越好。
那么让我告诉您我的脚本正在运行的基础知识:
对于 Chrome 标志:
var chromeFlags = [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-accelerated-2d-canvas',
'--no-zygote',
'--renderer-process-limit=1',
'--no-first-run',
'--ignore-certificate-errors',
'--ignore-certificate-errors-spki-list',
'--disable-dev-shm-usage',
'--disable-infobars',
'--lang=en-US,en',
'--window-size=1920x1080',
'--disable-extensions'
];
Run Code Online (Sandbox Code Playgroud)
我还欺骗了时区和视口:
await page.emulateTimezone("Asia/Singapore");
await page.setViewport({width: (width/2)-21, height: height-111});
Run Code Online (Sandbox Code Playgroud)
据我所知,Akamai 非常了解窗口/屏幕尺寸。我已经做了我认为必要的一切来确保无头模式模仿实际的浏览器,但无济于事。
有一个网站可以显示您的浏览器指纹bot.sannysoft.com。我目前正在使用它来比较无头木偶师是否模仿实际的有头浏览器,到目前为止它看起来像是一个合法的浏览器。这是我用无头木偶师从该网站获得的结果
我希望有人能够告诉我是否应该尝试进行欺骗,以增加不被 Akamai 检测到的机会,或者指出我哪里做错了。
感谢大家!
小智 -1
尝试在启动 puppeteer 时添加ignoreHTTPSErrors: true。另外,请在此处查看 puppeteer extra 和 Stealth 插件:
https://www.npmjs.com/package/puppeteer-extra-plugin-stealth
Run Code Online (Sandbox Code Playgroud)
您还可以在 Slack 或 Skype 上添加我,以进一步解决此问题!
| 归档时间: |
|
| 查看次数: |
4325 次 |
| 最近记录: |