🔍 Reverse Engineering

Jak znaleźć ukryte API strony i pobierać dane, których nikt nie udostępnia

DevToolszero narzędzi extra
10x szybciejniż scraping HTML
stabilnenie psuje się po redesign

Strona nie ma publicznego API, ale ma dane, które chcesz zbierać — klasyczna sytuacja przy monitoringu cen, ofert czy dostępności. Pierwszy odruch to napisanie scrapera HTML, ale to podejście jest kruche z definicji: każda zmiana wyglądu strony potrafi rozwalić selektor, który działał dzień wcześniej.

Zanim sięgnę po scraping, sprawdzam w DevTools zakładkę Network podczas przeglądania strony — praktycznie każda nowoczesna strona pod spodem odpytuje własne API, żeby pobrać dane do wyświetlenia. To API zwykle nie jest udokumentowane ani przeznaczone do użytku zewnętrznego, ale technicznie jest publicznie dostępne — strona i tak musi je odpytać z przeglądarki użytkownika.

Znalezienie właściwego requestu to kwestia obserwacji: który request zwraca dane, które widzę na ekranie, w czystym formacie JSON zamiast wymieszanym z HTML i CSS. Napisanie własnego klienta do tego API jest zwykle rzędem wielkości prostsze niż parsowanie znaczników HTML — i, co ważniejsze, nie psuje się przy każdym redesignie strony, bo struktura danych w API zmienia się rzadziej niż wygląd.

To podejście jest legalne tam, gdzie dane są publicznie dostępne dla każdego odwiedzającego stronę — różnica polega tylko na tym, że pobiera się je bezpośrednio, zamiast przez renderowaną stronę.

Python · requests · DevTools

Chcesz pełne szczegóły techniczne?

Kod, schematy i pełny opis wdrożenia — w ebooku.

Kup ebook — od 79 zł →
← Wszystkie wpisy