Mark Emelianov
SR

Medium · Automatizacija, Web scraping · Nacrt

Kada API nije dovoljan: izdvajanje podataka uz pomoć pregledača u ime korisnika

Savremene SaaS platforme često izlažu javne API-je. U teoriji, to bi integracije, izveštavanje, prikupljanje dokaza o usklađenosti, analitiku i automatizaciju trebalo da učini jednostavnim.

Prvi put objavljeno na Medium-u 26. maja 2026. Pročitajte na Medium-u. 8 min čitanja.

U praksi, dostupni API nije uvek dovoljan:

Time nastaje praktičan problem: korisnik je ovlašćen da pristupi informacijama, informacije su vidljive u aplikaciji, ali ne postoji adekvatan zvanični mehanizam da se one preuzmu na strukturiran i ponovljiv način.

U takvim slučajevima izdvajanje podataka uz pomoć pregledača može postati praktično zaobilazno rešenje.

Rakun i robot za scraping uzimaju JWT token sesije iz skladišta pregledača; podaci prolaze pored vrata s natpisom „Nema javnog API-ja“ u JSON i rezime.

1. Nije robotska automatizacija procesa (RPA)

Ovaj pristup može izgledati slično robotskoj automatizaciji procesa (RPA), ali nije sasvim isto.

Tradicionalna RPA obično oponaša korisnički interfejs: klikće dugmad, popunjava obrasce, prelistava stranice, čeka da se ekrani učitaju i čita vidljive elemente. Veb aplikaciju tretira kao vizuelni radni prostor i automatizuje iste korake koje bi čovek izvodio ručno.

Izdvajanje uz pomoć pregledača radi na drugom sloju. Pregledač se i dalje koristi za legitimnu autentifikaciju korisnika i kontrolu pristupa, ali stvarno prikupljanje podataka obavlja se posmatranjem i ponovnim korišćenjem komunikacije same aplikacije sa njenim zaleđem. Umesto da kopira vrednosti s ekrana, automatizacija preuzima strukturirane podatke koje aplikacija ionako već prima da bi iscrtala ekran.

Jednostavno rečeno:

Ova razlika je važna. Izdvajanje uz pomoć pregledača obično je stabilnije, brže i potpunije od vizuelne automatizacije korisničkog interfejsa, jer može da radi sa strukturiranim podacima umesto sa iscrtanim elementima interfejsa. Istovremeno, zahteva veću pažnju, jer se može oslanjati na interno ponašanje aplikacije, nedokumentovane krajnje tačke, kolačiće, skladište sesije, lokalno skladište ili druge artefakte vezane za sesiju.

RPA naspram izdvajanja uz pomoć pregledača: RPA sporo i krhko klikće po interfejsu; drugi pristup čita mrežne pozive u ovlašćenoj sesiji u podatke i rezime.

Zato ovaj obrazac treba tretirati kao kontrolisano zaobilazno rešenje. On nije zamena za zvanični API, podržanu integraciju ili propisno dokumentovanu funkciju izvoza. Bliži je „otkrivanju API-ja kroz autentifikovanu sesiju pregledača“ nego klasičnoj RPA.

Princip ostaje isti: automatizacija mora delovati samo u ime ovlašćenog korisnika, prikupljati samo podatke kojima korisnik sme da pristupi i koristiti se uz uvažavanje pravnih, ugovornih, privatnosnih i bezbednosnih razmatranja.

2. Scenario

Pretpostavimo da postoji sistem koji kompanija koristi za upravljanje, usklađenost, operacije ili internu administraciju.

Sistem ima veb interfejs. Ovlašćeni korisnici mogu da se prijave, kreću kroz zapise, pregledaju detalje i ručno izvoze ili kopiraju informacije. Međutim, sistem ima jedno od sledećih ograničenja:

Scenario: ovlašćeni korisnici u pregledaču vide potpune zapise, ali API nedostaje ili je nepotpun, a izvozi nemaju istoriju; cilj nije zaobilaženje pristupa.

Cilj nije zaobilaženje kontrola pristupa. Cilj je automatizovati pristup podacima koje autentifikovani korisnik već ima pravo da vidi.

3. Opšti pristup

Opšti obrazac je scraping uz pomoć pregledača u ime korisnika.

Tipičan tok rada može izgledati ovako:

Šest koraka scrapinga uz pomoć pregledača: izolovan profil, normalna SSO/MFA prijava, posmatranje sesije, ponovno korišćenje njenog konteksta, prikupljanje podataka, upis JSON-a i Markdown-a.

4. Zašto ovo radi

Mnoge veb aplikacije izgrađene su kao klijenti u pregledaču koji komuniciraju sa pozadinskim servisima. Čak i kad nema javnog API-ja, sam pregledač često koristi interne API-je da učita podatke prikazane u korisničkom interfejsu.

To znači da je najlakši način da se shvati kako preuzeti sve relevantne informacije iz sistema ponekad da se pogleda kako ih sam sistem preuzima za pregledač.

To je neprijatna praktična stvarnost.

Iz tehničke perspektive, veb aplikacija već zna gde su podaci, koje se krajnje tačke koriste, koji su parametri potrebni i kako se zapisi straniče ili filtriraju. Izdvajanje uz pomoć pregledača jednostavno automatizuje ono što bi korisnik inače mogao da radi ručno, pod uslovom da ostane u okvirima korisnikovih legitimnih prava pristupa.

5. „Hakovanje“ koje zapravo nije hakovanje

Među inženjerima i praktičarima automatizacije usklađenosti postoji uobičajena šala:

Najlakši način da se iz sistema dobiju sve informacije jeste da se on „hakuje“.

U ovom kontekstu „hakovanje“ ne treba da znači neovlašćen pristup, eksploataciju, eskalaciju privilegija ili zaobilaženje bezbednosnih kontrola. Znači razumevanje kako veb aplikacija radi iznutra i korišćenje tog znanja za automatizaciju inače ručnog procesa.

Na primer, neke veb aplikacije čuvaju privremene artefakte sesije u pregledaču kako bi frontend mogao da komunicira sa pozadinskim servisima. U nekim slučajevima automatizacija može ponovo upotrebiti autentifikovanu sesiju pregledača da izvrši izdvajanje podataka u ime korisnika.

To može biti moćna tehnika kad zvanični API nije dostupan ili je nepotpun. Takođe je tehnika s kojom se mora postupati pažljivo, jer je materijal sesije osetljiv i može pružiti pristup jednak pristupu prijavljenog korisnika.

6. Pravna i ugovorna napomena

Ovakva automatizacija mora se koristiti s dužnom pažnjom.

Čak i kad je korisnik legitimno ovlašćen da pristupa podacima, scraping uz pomoć pregledača može kršiti ugovor o licenci krajnjeg korisnika (EULA), uslove korišćenja, politiku prihvatljive upotrebe, ugovorna ograničenja ili bezbednosnu politiku sistema.

Kontrolna lista pravne i ugovorne napomene pored policijskog psa K9: dozvola, vlasništvo nad podacima, ovlašćenje, ograničenja brzine, bezbednost, revizija, čuvanje, privatnost.

Pre upotrebe takvog pristupa organizacija bi trebalo da razmotri:

Ovaj obrazac ne treba koristiti olako. To je zaobilazno rešenje, a ne zamena za propisno podržanu integraciju.

7. Bezbednosna razmatranja

Artefakte sesije, uključujući kolačiće i tokene, treba tretirati kao osetljive kredencijale.

Bezbednosna razmatranja: deset preporučenih kontrola, poput izolovanog profila pregledača, minimalnih dozvola, bez tokena u logovima, isteka; dati prednost zvaničnom API-ju.

Ako se automatizacija oslanja na autentifikovanu sesiju, snažno se preporučuju sledeće kontrole:

Gde god je moguće, uvek treba dati prednost zvaničnom API-ju, servisnom nalogu, OAuth integraciji ili mehanizmu izvoza koji podržava proizvođač.

8. Primer teorijskog slučaja upotrebe

Pretpostavimo da kompaniji treba da izdvoji zapise iz interne SaaS platforme radi pregleda usklađenosti.

Teorijski slučaj upotrebe u usklađenosti u šest koraka: javni API ne dopire dovoljno daleko, veb interfejs pokazuje više, ovlašćeni recenzent izdvaja JSON sadržaj i Markdown rezime.

Javni API izlaže samo glavne zapise objekata, ali veb interfejs prikazuje dodatne informacije, kao što su:

Tim za usklađenost je ovlašćen da vidi ove informacije u pregledaču, ali ne postoji potpuna funkcija izvoza.

Izdvajač uz pomoć pregledača može da se autentifikuje kao ovlašćeni korisnik, posmatra kako aplikacija sama učitava podatke, preuzme tražene zapise i napravi dva izlaza. JSON datoteka čuva potpun strukturirani sadržaj. Markdown datoteka daje čitljivu verziju pogodnu za pregled i dokumentaciju.

9. Odgovorna upotreba

Scraping uz pomoć pregledača može biti legitiman kad se koristi za preuzimanje podataka kojima korisnik već ima pravo pristupa i kad ne postoji adekvatan zvanični mehanizam izvoza.

Ipak, treba ga tretirati kao inženjersko rešenje po izuzetku. Pre upotrebe treba ga pregledati sa pravnog, bezbednosnog, privatnosnog i operativnog stanovišta.

Najbolji ishod i dalje je API koji podržava proizvođač. Ali kad API nedostaje ili je nedovoljan, pažljivo kontrolisano izdvajanje uz pomoć pregledača može pružiti praktičan most između ručnog rada i prave integracije.

10. Zaključak

Sistemi bez dovoljnih API-ja stvaraju trenje za usklađenost, reviziju, izveštavanje, migraciju i operativnu automatizaciju. U takvim slučajevima izdvajanje podataka uz pomoć pregledača može biti pragmatično zaobilazno rešenje.

Ključni princip je jednostavan: automatizujte samo ono čemu korisnik legitimno sme da pristupi, štitite materijal sesije kao kredencijale, izbegavajte nepotrebno prikupljanje podataka, poštujte ugovorna ograničenja i dokumentujte opravdanje.

Kad se koristi odgovorno, ovaj pristup može da pretvori inače ručan i nepouzdan proces u ponovljiv, strukturiran tok rada koji se može revidirati.

Zadovoljna narandžasta mačka izležava se pored laptopa i panela „Izdvajanje završeno“ koji prikazuje full_payload.json, summary.md i 12.842 izdvojena zapisa.

Ova stranica je potpuna kopija priče onako kako je objavljena na Medium-u. Pročitajte na Medium-u. Ilustracije su generisane pomoću AI.