Skip to main content
POST https://api.acedata.cloud/webextrator/render WebExtrator API renderowania stron to usługa renderowania stron oparta na bezgłowym Chromium. Podaj URL, zwraca całkowicie wyrenderowany HTML (w tym treści wstrzyknięte przez JS), czysty tekst, tytuł strony i ostateczny URL. Render to najniższy poziom interfejsu WebExtrator. Jeśli potrzebujesz ustrukturyzowanych wyników ekstrakcji (treść artykułu, ceny produktów, składniki przepisu …), użyj /webextrator/extract — działa na tej samej podstawie renderowania i uruchamia pełną linię ekstrakcji typów.

Proces aplikacji

Aby korzystać z usługi WebExtrator, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, zachowując go na później. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Pierwsze zgłoszenie otrzyma darmowy limit, aby móc skorzystać z usługi; w przypadku niewystarczającego limitu można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Strona usługi WebExtrator →

Autoryzacja

Wszystkie interfejsy WebExtrator używają standardowej autoryzacji Bearer Token:

Parametry żądania

Umowa platformy używa jednolicie snake_case. Wewnętrzne usługi renderowania obsługują camelCase, ale zewnętrzne wywołania zawsze używają snake_case.

Struktura ciasteczek

Odpowiedź synchronizacyjna

Odpowiedź asynchroniczna

async=true (lub podanie callback_url) natychmiast zwraca (HTTP 200):
Wyniki zostaną przesłane za pomocą POST do callback_url (jeśli skonfigurowano), lub można je aktywnie sprawdzić przez /webextrator/tasks.

Struktura callbacku

Platforma POST wysyła dokładnie taką samą paczkę jak w trybie synchronizacyjnym do callback_url, Content-Type: application/json. Zwrócenie dowolnego 2xx uznawane jest za potwierdzenie; 5xx będzie ponownie próbowane z wykładniczym opóźnieniem przez około 5 minut.

Odpowiedź błędu

Struktura błędu:

Przykład

cURL

Python (requests)

Node.js (fetch)

Asynchronicznie + Callback

Natychmiast zwraca { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 }; Gdy zadanie zostanie zakończone, platforma wyśle pełny wynik na twój callback_url.

Wymuszenie ominięcia pamięci podręcznej

Wskazówki i pułapki

  • Wybór wait_until jest bardzo ważny. networkidle jest najstabilniejszy, ale najwolniejszy; domcontentloaded jest szybki, ale może pominąć asynchronicznie wstrzykiwane treści; load jest odpowiedni dla tradycyjnych statycznych stron.
  • Klucz pamięci podręcznej ignoruje async. Synchronizacja i asynchroniczne żądania dla tego samego URL trafiają do tego samego wpisu w pamięci podręcznej, swobodne przełączanie nie spowoduje niepowodzenia.
  • Klucz pamięci podręcznej ignoruje bypass_cache i cache_ttl_seconds. Te dwa są przełącznikami operacyjnymi, nie wpływają na treść odpowiedzi.
  • cookies i headers będą miały oddzielne pamięci podręczne. Dostosowanie tych dwóch spowoduje, że pierwsze takie same kombinacje nie będą trafiały.
  • Reaktywne SPA często przekracza domyślne 30 sekund. Zaleca się timeout: 60, wait_until: "domcontentloaded", delay: 4, a następnie w połączeniu z wait_for_selector czekać na naprawdę istotne elementy.
  • block_resources to najszybsza droga do zmniejszenia opóźnienia. Domyślnie zablokowane są obrazy / czcionki / media; jeśli nie zależy ci na układzie CSS, dodanie stylesheet może przyspieszyć jeszcze bardziej.