Более 70% современных веб-сайтов используют JavaScript для рендеринга контента. Стандартный HTTP request видит только начальный каркас HTML. Реальные данные загружаются после выполнения JavaScript, поэтому традиционные инструменты парсинга возвращают пустые страницы.
Задачи браузера FourA решают эту проблему, запуская реальный экземпляр headless Chrome для каждого request.
Как это работает
Когда вы отправляете задачу с 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 секунды для одиночных задач)
Пример: парсинг приложения на React
curl -X POST https://eu.api.foura.ai/api/v1/tasks \
-H "X-API-Key: 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только тогда, когда в response отсутствует контент.
Что дальше
Мы работаем над дополнительными возможностями браузера, включая создание скриншотов, генерацию PDF и многошаговую навигацию (клики, скролл, заполнение форм). Но даже без этих функций задачи браузера уже решают главную проблему: получение реального контента со страниц с рендерингом на JavaScript вместо пустого каркаса.
Ознакомьтесь с документацией для полного сравнения типов задач.