Над 70% от съвременните уебсайтове разчитат на JavaScript за рендиране на съдържанието си. Стандартната HTTP заявка вижда само началния HTML скелет. Реалните данни се зареждат след изпълнение на JavaScript, поради което традиционните инструменти за scraping връщат празни страници.
Browser задачите на FourA решават този проблем, като стартират реален headless Chrome инстанс за всяка заявка.
Как работи
Когато изпратите задача с type: "browser", FourA:
- Стартира headless Chrome браузър
- Зарежда целевия URL
- Изчаква изпълнението на JavaScript и стабилизирането на DOM
- Опционално изчаква появата на конкретен CSS селектор
- Връща напълно рендирания HTML
Целият процес се изпълнява върху инфраструктурата на FourA. Получавате готов HTML, без да инсталирате браузър, без да конфигурирате Puppeteer и без да управлявате Chrome ъпдейти.
Кога да използвате browser задачи
Използвайте browser задачи при:
- Single-page приложения (React, Vue, Angular)
- Страници с динамично зареждано съдържание (infinite scroll, бутони "load more")
- Сайтове, изискващи cookie съгласие или първоначална JS конфигурация
- Съдържание зад автентикация на ниво клиент
Останете на single задачи при:
- Сървърно рендирани HTML страници (новинарски сайтове, блогове, уикита)
- REST API, които връщат директно JSON
- Когато скоростта е приоритет (browser задачите отнемат 2-10 секунди спрямо под 1 секунда за single задачи)
Пример: Scraping на 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с конкретен селектор, вместо да разчитате на фиксирани изчаквания. Това е по-бързо и по-надеждно. - Задайте разумен timeout. 15 секунди са достатъчни за повечето SPA приложения. Увеличавайте само при изключително бавен бекенд.
- Използвайте
singleпо подразбиране и преминавайте къмbrowserсамо когато в отговора липсва съдържание.
Какво следва
Работим по допълнителни възможности за браузъра, включително заснемане на скрийншоти, генериране на PDF и многостъпкова навигация (кликове, скролване, попълване на форми). Но дори без тези добавки browser задачите вече решават основния проблем: извличане на реалното съдържание от рендирани с JavaScript страници вместо празен скелет.
Вижте документацията за пълно сравнение на типовете задачи.