Для современного scraping используются headless-браузеры, которые рендерят JavaScript-страницы: Puppeteer (Node.js, контролирует Chrome), Playwright (Node.js или Python, контролирует Chrome, Firefox, Safari), Selenium (Java, Python, Node.js, поддерживает все основные браузеры). На офшорном VPS все три инструмента ставятся стандартными пакетными менеджерами.
Puppeteer на VPS требует установки зависимостей Chromium через apt: libxss1, libappindicator3-1, libindicator7, libgconf2-4. После npm install puppeteer Chrome скачивается локально (около 200 MB). На VPS Small (2 vCPU, 4 GB RAM) одновременно работают 3-5 Puppeteer-инстансов, что даёт scraping-скорость 5000-10 000 страниц в час.
Playwright удобнее Puppeteer для cross-browser scraping - один и тот же код работает в Chrome, Firefox и Safari, что снижает риск детектирования (некоторые антибот-системы детектируют именно Chrome headless). Установка через npm install playwright + npx playwright install ставит браузерные движки и системные зависимости.