Как настроить и использовать прокси в Puppeteer

Комментарии: 0

Puppeteer — библиотека для Node.js, которая использует JavaScript для управления браузерами на базе ядра Chromium, включая Google Chrome, Microsoft Edge, Opera и Brave. Она позволяет автоматизировать браузерные задачи, такие как навигация по веб-страницам, взаимодействие с элементами интерфейса, генерация PDF-файлов, создание скриншотов, а также тестирование сервисов. Однако лучше всего Puppeteer себя проявляет в скрапинге, поскольку библиотека поддерживает работу в режиме headless, где браузер работает без отображения графического интерфейса, что значительно ускоряет процесс сбора и анализа веб-данных.

Далее будет рассмотрено, как настроить и использовать прокси в Puppeteer для раскрытия полного потенциала этой библиотеки. Это особенно полезно для:

  • эмуляции поведения пользователей с различных устройств;
  • преодоления антифрод-фильтров и капчи, которые активируются при большом количестве запросов с одного IP-адреса за короткий период;
  • увеличения скорости работы за счет балансировки нагрузки на серверы;
  • обхода географических блокировок и доступа к контенту, адаптированному под конкретный регион или более точное местоположение.

Видеоинструкция по настройке прокси в Puppeteer

Пошаговая настройка прокси в Puppeteer на JavaScript

Чтобы добавить прокси в 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. Если вы будете использовать частный прокси-сервер, то вам нужно вставить логин и пароль в строку await page.authenticate({ username: 'PROXY_USERNAME', password: 'PROXY_PASSWORD' });. Например, если ваш логин — myUser и пароль — myPass, то код будет содержать следующее:
    
    
    await page.authenticate({ username: 'myUser', password: 'myPass' });
    
  5. Также можно задать стартовую страницу браузера изменив строку «const pageUrl = 'https://example.com/';», подставив необходимый URL.

Эта настройка прокси в Puppeteer позволяет направлять весь трафик браузера через указанный прокси-сервер, что может быть полезно для обхода геоограничений, улучшения анонимности или распределения нагрузки при веб-скрапинге.

Комментарии:

0 комментариев