Более 70% современных сайтов полагаются на JavaScript для рендеринга своего контента. Стандартный HTTP-запрос видит только исходную HTML-оболочку. Реальные данные загружаются после выполнения JavaScript, поэтому традиционные инструменты для парсинга возвращают пустые страницы.
Браузерные задачи FourA решают эту проблему, запуская реальный headless-экземпляр Chrome для каждого запроса.
Как это работает
Когда вы отправляете задачу с type: "browser", FourA:
- Запускает headless-браузер Chrome
- Переходит по целевому URL
- Ожидает выполнения JavaScript и стабилизации DOM
- При необходимости ожидает появления определенного CSS-селектора
- Возвращает полностью отрендеренный HTML
Весь процесс происходит на инфраструктуре FourA. Вы получаете чистый HTML без необходимости устанавливать браузер, настраивать Puppeteer и управлять обновлениями Chrome.
Когда использовать браузерные задачи
Используйте браузерные задачи, когда:
- Это одностраничные приложения (React, Vue, Angular)
- Страницы содержат ленивую загрузку контента (бесконечный скролл, кнопки «показать еще»)
- Сайты требуют согласия на использование cookie или первоначальной настройки JS
- Контент находится за процессами аутентификации на стороне клиента
Используйте задачи single, когда:
- Это HTML-страницы с серверным рендерингом (новостные сайты, блоги, вики)
- REST API возвращают JSON напрямую
- Скорость является приоритетом (браузерные задачи занимают от 2 до 10 секунд против менее 1 секунды для задач
single)
Пример: парсинг React-приложения
curl -X POST https://eu.api.foura.ai/api/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/dashboard",
"type": "browser",
"options": {
"waitFor": ".dashboard-content",
"timeout": 15000
}
}'
Селектор waitFor указывает FourA подождать, пока .dashboard-content появится в DOM, прежде чем делать снимок страницы. Это гарантирует, что все асинхронные данные загрузились.
Советы по производительности
- Всегда используйте
waitForс конкретным селектором вместо ожидания по тайм-ауту. Это и быстрее, и надежнее. - Устанавливайте разумный тайм-аут. 15 секунд достаточно для большинства SPA. Увеличивайте его только для действительно медленных бэкендов.
- Используйте
singleпо умолчанию и переключайтесь наbrowserтолько тогда, когда контент отсутствует в ответе.
Что дальше
Мы работаем над дополнительными возможностями браузера, включая создание скриншотов, генерацию PDF и многошаговую навигацию (клики, прокрутка, заполнение форм). Но даже без этих функций браузерные задачи уже решают главную проблему: получение реального контента со страниц с рендерингом на JavaScript вместо пустой оболочки.
Ознакомьтесь с документацией для полного сравнения типов задач.