在本地运行抓取(puppeteer)时,网络查询是成功的,但在生产中它会将我检测为机器人

问题描述 投票:0回答:1

我正在尝试抓取具有 reCaptcha v2 的网页,本地 reCaptcha 的分辨率(Windows 10 和 Chrome PC)正确完成, 但是当我在 CentOS 7 服务器上在生产中运行它时,当我单击 reCaptcha 框时,我收到消息:

您的计算机或网络可能正在发送自动查询为了保护我们的用户,我们无法处理 您现在的请求欲了解更多详细信息 vigit pur_heWppge。

我还在使用 Ubuntu 20 的 GCP 中创建了一个计算实例,同样的事情发生了(甚至使用 const Xvfb = require('xvfb') for headless: false)。

还有哪些其他配置可以应用于 puppeteer?

browser = await puppeteer.launch({
    args: ["--no-sandbox", "--disable-setuid-sandbox",
           "--disable-blinkfeatures=AutomationControlled",
           "--no-first-run", "--no-proxy-server"],
     //headless: false
     headless: 'new'
    }); 
   
let page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,  like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0');
   
   
const customHeaders = {
    'Accept-Language': 'es,es-ES;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
    'Sec-Ch-Ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
    'Sec-Ch-UA-Platform': '"Windows"',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0'
   };
await page.setExtraHTTPHeaders(customHeaders);
await page.goto(url);

web-scraping automation puppeteer recaptcha rpa
1个回答
0
投票

如果 Centos 服务器部署在数据中心,您可以尝试使用住宅代理。许多网站屏蔽数据中心的 IP。

© www.soinside.com 2019 - 2024. All rights reserved.