Przejdź do głównej treści
POST https://api.acedata.cloud/webextrator/render API renderowania stron WebExtrator to usługa renderowania stron oparta na bezgłowym Chromium. Podaj URL, a zwróci w pełni wyrenderowany HTML (w tym treści wstrzyknięte przez JS), czysty tekst, tytuł strony i końcowy URL. Render jest najbardziej podstawowym interfejsem WebExtrator. Jeśli potrzebujesz ustrukturyzowanych wyników ekstrakcji (treść artykułu, cena produktu, składniki przepisu …), użyj /webextrator/extract —— uruchamia on cały potok ekstrakcji typowanej na tej samej podstawie renderowania.

Proces aplikacji

Aby korzystać ze strony usługi WebExtrator, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój API Token i zachować go na później. Jeśli nie jesteś jeszcze zalogowany lub zarejestrowany, zostaniesz automatycznie przekierowany na stronę logowania, która zaprosi Cię do rejestracji i zalogowania się, a po zakończeniu automatycznie wrócisz na bieżącą stronę. Jeden API Token umożliwia wywoływanie wszystkich usług platformy, bez konieczności składania osobnego wniosku dla każdej usługi. Pierwszy wniosek zapewnia darmowy limit, umożliwiający bezpłatne wypróbowanie; gdy limit jest niewystarczający, możesz doładować uniwersalne saldo w konsoli.
📘 Pełna dokumentacja: Strona usługi WebExtrator →

Uwierzytelnianie

Wszystkie interfejsy WebExtrator korzystają ze standardowego uwierzytelniania Bearer Token:

Parametry żądania

Kontrakt platformy jednolicie używa snake_case. Wewnętrzna usługa renderowania obsługuje camelCase, ale wywołania zewnętrzne zawsze używają snake_case.

Odpowiedź synchroniczna

Odpowiedź asynchroniczna

Gdy async=true (lub podano callback_url), natychmiast zwracane jest (HTTP 200):
Wynik zostanie przesłany przez POST do callback_url (jeśli skonfigurowano) albo aktywnie odpytywany przez /webextrator/tasks.

Struktura callbacku

Platforma wykonuje POST dokładnie takiego samego envelope jak w trybie synchronicznym do callback_url, Content-Type: application/json. Zwrócenie dowolnego 2xx jest uznawane za potwierdzenie; 5xx będzie ponawiane z wykładniczym wycofaniem przez około 5 minut.

Odpowiedź błędu

Struktura błędu:

Przykłady

cURL

Python (requests)

Node.js (fetch)

Asynchronicznie + callback

Natychmiast zwraca { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 }; po ukończeniu zadania platforma wykona POST z pełnym wynikiem do Twojego callback_url.

Wymuszone pominięcie pamięci podręcznej

Wskazówki i pułapki

  • Wybór wait_until jest bardzo ważny. networkidle jest najstabilniejsze, ale najwolniejsze; domcontentloaded jest szybkie, ale może pominąć treści wstrzykiwane asynchronicznie; load nadaje się do tradycyjnych stron statycznych.
  • Klucz pamięci podręcznej ignoruje async. Synchroniczne i asynchroniczne żądania tego samego URL trafiają do tego samego wpisu pamięci podręcznej, swobodne przełączanie nie powoduje unieważnienia.
  • Klucz pamięci podręcznej ignoruje bypass_cache i cache_ttl_seconds. Te dwa parametry są przełącznikami operacyjnymi, nie wpływają na treść odpowiedzi.
  • cookies i headers segmentują pamięć podręczną. Dostosowanie tych dwóch parametrów spowoduje, że pierwsze trafienie dla tej samej kombinacji się nie powiedzie.
  • Rozbudowane SPA często przekraczają domyślne 30 sekund. Zalecane są timeout: 60, wait_until: "domcontentloaded", delay: 4, a następnie użycie wait_for_selector do oczekiwania na elementy, które naprawdę Cię interesują.
  • block_resources to najszybsza droga do zmniejszenia opóźnienia. Obrazy / czcionki / multimedia są domyślnie blokowane; jeśli Twoje wyodrębnianie nie zależy od układu CSS, dodanie stylesheet może jeszcze je przyspieszyć.