我正在使用 puppeteer 来查看汽车经销商,我遇到了很多经销商,他们立即对我进行验证码标记。我可以像平常一样使用 chrome 完美地导航到这些网站,但是当我运行我的代码时它会捕获它。有什么想法吗?以下是其中一个网站的示例:www.vandamautoinc.com
你最好的运气就是这个 npm 插件:https://www.npmjs.com/package/puppeteer-extra-plugin-stealth
puppeteer-extra 的插件,用于防止检测。
虽然上面Gilles提供的解决方案只是一种措施。您还可以尝试更多解决方案,例如
在
fingerprint-injector
的帮助下使用/更改用户代理
使用 2Captcha 来解决验证码出现的情况,为此,您还可以使用插件
puppeteer-extra-plugin-recaptcha
。为这个实现添加一个小片段作为文档中的一个对我来说不起作用
initialize recaptcha plugin similar to how in docs
puppeteer.use(
RecaptchaPlugin({
provider: {
id: "2captcha",
token: "2CAPTCHA API KEY",
},
visualFeedback: true,
}));
现在在验证码屏幕出现的地方添加以下代码
for (const frame of page.mainFrame().childFrames()) {
// Attempt to solve any potential captchas in those frames
const { captchas, filtered, solutions, solved, error } =
await frame.solveRecaptchas();
console.log(solved);
}