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 i uzyskaj swój token API, aby go zachować. 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; gdy limit się wyczerpie, 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 envelope identyczny 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 stron statycznych.
  • Klucz pamięci podręcznej ignoruje async. Synchronizacja i asynchroniczne żądania dla tego samego URL trafiają do tego samego wpisu pamięci podręcznej, swobodne przełączanie nie spowoduje błędu.
  • 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 trafienie dla tego samego zestawu nie powiedzie się.
  • Przebudowa 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, aby poczekać 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.