Klucz API

Dynamiczny web scraping stron, które ładują dane później

Nieskończone feedy, przyciski „Wczytaj więcej” i strony budowane przez JavaScript zwracają zwykłemu żądaniu pustą skorupę. Gologin Cloud Browser ładuje je tak, jak robi to przeglądarka człowieka, więc Twój skrypt Playwright lub Puppeteer zbiera wszystko, co się pojawi.

Start za darmo, bez karty. Adresy rezydencyjne w cenie.

4.7 / 5 w G2na podstawie 79 opinii

Dynamiczny web scraping: zwykłe żądanie, headless Chrome czy przeglądarka w chmurze

Zwykłe żądanie czyta HTML, który wysyła serwer. Dynamiczne strony wysyłają dane później, przez JavaScript, przewijanie i kliknięcia. Oto co zwraca każde podejście.

Co zwykłe żądanie HTTP, headless Chrome i Gologin Cloud Browser zwracają z dynamicznej strony
Co dostajeszGologinZwykłe żądanie HTTPHeadless Chrome
Treść budowana przez JavaScriptTakNieTak
Nieskończone przewijanie i „Wczytaj więcej”TakNieTak
Treść, która ładuje się po kilku sekundachTakNieTak
Rezydencyjne IP w cenieTakNieNie
Ta sama sesja przy następnym uruchomieniuTakNieNie
Serwery do utrzymaniaBrakBrakTwoje

Potrzebujesz tylko wyrenderowanej strony, a nie sesji? Web Unlocker zwraca ją w jednym żądaniu i nalicza opłatę tylko za sukces.

Jak scrapować dynamiczną stronę w Playwright, Puppeteer lub Pythonie

Połącz skrypt z Gologin Cloud Browser jedną linią, poczekaj na treść, a potem przewijaj, aż nic nowego się nie pojawi. Poniższy kod zebrał wszystkie 100 cytatów z testowej strony z nieskończonym przewijaniem.

  1. Krok 01

    Odbierz token

    Zarejestruj się przez Google i skopiuj klucz z panelu. Za darmo, bez karty.

  2. Krok 02

    Utwórz profil

    Jedno kliknięcie w panelu albo jedno wywołanie API. Profil zachowuje urządzenie, IP i logowanie.

  3. Krok 03

    Uruchom skrypt

    Zainstaluj bibliotekę i uruchom poniższy skrypt ze swoim tokenem i ID profilu. Skrypt przewija, dopóki ładują się nowe cytaty, a potem zbiera każdy z nich razem z autorem. Więcej w przewodniku dla początkujących.

Instalacja
npm install playwright-core
Uruchomienie
GOLOGIN_TOKEN=your_token GOLOGIN_PROFILE_ID=your_profile_id node scrape.mjs
Łączy się z
wss://cloudbrowser.gologin.com/connect?token=…&profile=…
import { chromium } from "playwright-core";

const token = process.env.GOLOGIN_TOKEN;
const profileId = process.env.GOLOGIN_PROFILE_ID;
const endpoint = `wss://cloudbrowser.gologin.com/connect?token=${token}&profile=${profileId}`;

const browser = await chromium.connectOverCDP(endpoint);
const page = await browser.contexts()[0].newPage();

await page.goto("http://quotes.toscrape.com/scroll");
await page.waitForSelector(".quote");

for (let i = 0; i < 30; i++) {
  const before = await page.locator(".quote").count();
  await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
  try {
    await page.waitForFunction(
      (n) => document.querySelectorAll(".quote").length > n,
      before,
      { timeout: 3000 }
    );
  } catch {
    break;
  }
}

const quotes = await page.$$eval(".quote", (els) =>
  els.map((el) => ({
    text: el.querySelector(".text")?.textContent,
    author: el.querySelector(".author")?.textContent,
  }))
);
console.log(quotes.length, quotes[0]);

await page.close();
await browser.close();

Plany i cennik

Każdy plan uruchamia tę samą przeglądarkę, z adresami rezydencyjnymi w cenie. Plany różnią się liczbą godzin przeglądarki i sesji równoległych.

Potrzebujesz więcej naraz? Dodaj sesje równoległe do dowolnego planu za $2 miesięcznie każda, tyle, ile potrzebujesz. Ruch proxy ponad limit kosztuje $1/GB.

Custom

Od 4 sesji równoległych, z dedykowanym opiekunem konta, SLA premium i dopasowanym wdrożeniem.

Umów demo

Część kompletnego stosu technologicznego

Jedno konto, jedna sieć proxy, jeden ekosystem. Wybierz produkt, którego wymaga zadanie.

Pytania o dynamiczny web scraping

Czym jest dynamiczny web scraping?

To zbieranie danych ze stron, które budują treść w przeglądarce: feedów, wyników wyszukiwania, cen czy opinii, które pojawiają się po załadowaniu strony, przy przewijaniu lub po kliknięciu. Potrzebujesz prawdziwej przeglądarki, żeby uruchomić stronę, zanim ją odczytasz.

Dlaczego mój scraper zwraca pusty HTML na stronach z JavaScript?

Serwer wysyła skorupę, a dane przychodzą później przez JavaScript. Zwykłe żądanie zatrzymuje się na skorupie, więc danych do sparsowania po prostu nie ma. Załaduj stronę w przeglądarce i poczekaj na potrzebny element, tak jak robią to powyższe skrypty.

Potrzebuję Cloud Browser czy Web Unlocker?

Użyj Web Unlocker, gdy potrzebujesz wyrenderowanej strony z URL: jedno żądanie, opłata tylko za sukces. Użyj Cloud Browser, gdy zadanie wymaga sesji: przewijania feedu, klikania przez kolejne strony, pozostania zalogowanym między uruchomieniami.

Jak scrapować nieskończone przewijanie?

Przewiń na dół, poczekaj na nowe elementy i powtarzaj, aż ich liczba przestanie rosnąć. Powyższe skrypty robią dokładnie to i same się zatrzymują, gdy nic nowego się nie ładuje.

Czy mogę scrapować strony za logowaniem?

Tak. Zaloguj się raz w profilu, a sesja zostaje z nim: połącz się później i nadal jesteś zalogowany. Potrzebujesz jednego logowania w kilku przeglądarkach? Zobacz Przeglądarkę do scrapingu. Zbieraj tylko dane, do których masz prawo dostępu.

Czy mogę robić dynamiczny web scraping w Pythonie?

Tak. Python Playwright łączy się z tym samym adresem przez connect_over_cdp, a zakładka Python powyżej zawiera pełny skrypt. Zainstaluj go przez pip install playwright; nie trzeba pobierać lokalnej przeglądarki, bo przeglądarka działa w chmurze.

Zbieraj dane, które ładują się po załadowaniu strony.

Podłącz skrypt Playwright lub Puppeteer jedną linią i zbieraj to, co widzi prawdziwa przeglądarka.

Start za darmo, bez karty. Adresy rezydencyjne w cenie.

4.7 / 5 w G2na podstawie 79 opinii