如何在 Puppeteer 中设置和使用代理

评论: 0

Puppeteer 是一个 Node.js 库,可让 JavaScript 控制基于 Chromium 的浏览器,如 Google Chrome、Microsoft Edge、Opera 和 Brave。它尤其适用于自动执行浏览器任务,如导航页面、与界面元素交互、生成 PDF 文件、截图和执行服务测试。Puppeteer 的主要功能之一是支持无头模式,即浏览器在无图形界面的情况下运行。这种模式是网络扫描的最佳选择,因为它大大提高了数据收集和分析的速度。

接下来,我们将探讨如何在 Puppeteer 中设置和使用代理,这是最大限度发挥该库功能的关键一步。使用代理有几个好处:

  • 模拟用户行为:通过模拟来自不同设备和 IP 地址的操作,可以模拟更自然的浏览体验;
  • 绕过反欺诈措施和验证码:在短时间内从一个 IP 地址发出大量请求时,代理服务器可以帮助避免被发现,因为这可能会触发验证码等安全措施;
  • 负载平衡:在多个服务器上分配请求可提高刮擦速度和效率;
  • 克服地理限制:代理服务器可以绕过地理障碍,访问特定地区的内容,从而收集本地化数据。

这些优势强调了在 Puppeteer 设置中集成代理管理的重要性,以确保成功、高效地完成网络搜索和自动化任务。

使用 JavaScript 在 Puppeteer 中逐步设置代理

要将代理添加到 Puppeteer 并配置使用,请按照以下简化步骤操作:

  1. 启动开发环境,如 Microsoft Visual Studio,然后选择 JavaScript 库。
  2. 请使用以下代码:
    
    
    const puppeteer = require('puppeteer');
    
    async function run() {
    const browser = await puppeteer.launch({
    headless: false,
    args: ['--proxy-server=PROXY_IP:PROXY_PORT']
    });
    const page = await browser.newPage();
    
    const pageUrl = 'https://example.com/';
    
    // Adding proxy authentication
    
    await page.authenticate({ username: 'PROXY_USERNAME', password: 'PROXY_PASSWORD' });
    await page.goto(pageUrl);
    }
    
    run();
     
  3. 参数 --proxy-server=PROXY_IP:PROXY_PORT 配置浏览器使用指定的代理。
    • --proxy-server: 是命令行参数中的一个标志,用于指示浏览器应通过代理服务器路由其网络请求。
    • PROXY_IP: 将其替换为您打算使用的代理服务器的实际 IP 地址。
    • PROXY_PORT: 用配置为接收连接的代理服务器端口号代替。

    例如,如果代理的 IP 地址是 111.111.11.11,端口是 2020,那么代码将如下所示:

    
    args: ['--proxy-server=111.111.11.11 : 2020]
    
  4. 要使用专用代理服务器,您必须提供验证详细信息。在 page.authenticate 方法中插入登录凭证。例如,如果您的用户名是 myUser,密码是 myPass,请更新代码如下:
    await page.authenticate({ username: 'myUser', password: 'myPass' }); 
  5. 要指定浏览器的起始页面,请修改 pageUrl 变量。将默认 URL 替换为您需要的 URL。例如,要将起始页面设置为 https://example.com/,代码如下
    const pageUrl = 'https://example.com/'; await page.goto(pageUrl); 

在 Puppeteer 中使用代理通过指定服务器路由所有浏览器流量非常有用。它能让你绕过地域限制,增强匿名在线能力,并在网络搜刮活动中平衡负载。

评论:

0 评论