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:
- Ponekad javni API ne postoji.
- Ponekad postoji, ali izlaže samo ograničen podskup podataka.
- Ponekad su podaci vidljivi u veb aplikaciji, ali nisu dostupni preko dokumentovanih krajnjih tačaka.
- A ponekad je izvoz ograničen na CSV datoteku koja ne uključuje metapodatke, veze, komentare, istoriju ili revizorski trag potrebne za legitimnu poslovnu svrhu.
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.

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:
- RPA automatizuje ono što korisnik radi na stranici.
- Izdvajanje uz pomoć pregledača automatizuje ono što stranica radi iza scene u ime korisnika.
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.

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:
- Javni API nije dostupan.
- Javni API je nepotpun i ne izlaže sve potrebne podatke.
- Funkcija izvoza je nedovoljna za potrebe poslovanja, revizije, migracije ili izveštavanja.
- Važni metapodaci vidljivi su u pregledaču, ali nisu dostupni preko dokumentovanih metoda integracije.
- Ručno izdvajanje bilo bi sporo, sklono greškama i teško ponovljivo.

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:
- Pokrenite izolovan profil pregledača. Za zadatak izdvajanja koristi se poseban profil pregledača. Time se izbegava mešanje sesije automatizacije sa korisnikovim svakodnevnim profilom, ekstenzijama, sačuvanim kredencijalima, nepovezanim kolačićima i ličnim sesijama.
- Autentifikujte se normalno. Korisnik se prijavljuje preko standardnog veb interfejsa, uz uobičajeni tok autentifikacije, uključujući SSO, MFA, uslovni pristup ili bilo koju drugu kontrolu koju sistem zahteva.
- Posmatrajte autentifikovanu sesiju aplikacije. Posle autentifikacije automatizacija se povezuje na sesiju pregledača i posmatra kako veb aplikacija komunicira sa svojim zaleđem.
- Ponovo upotrebite kontekst sesije koji je korisnik odobrio. Automatizacija šalje zahteve u kontekstu već autentifikovane korisničke sesije. U nekim sistemima relevantni materijal sesije može biti smešten u mehanizmima skladištenja dostupnim pregledaču, kao što su kolačići, skladište sesije ili lokalno skladište.
- Prikupite potrebne podatke. Automatizacija preuzima podatke koje korisnik vidi, preko internih krajnjih tačaka aplikacije ili iscrtanih stranica.
- Upišite strukturirane izlaze. Izdvajanje daje i sirovu datoteku čitljivu mašini i rezime čitljiv ljudima (preporučeno).

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.

Pre upotrebe takvog pristupa organizacija bi trebalo da razmotri:
- Ugovornu dozvolu: da li su scraping, automatizacija, obrnuti inženjering ili korišćenje internih krajnjih tačaka ograničeni.
- Vlasništvo nad podacima: da li organizacija ima pravo da izdvaja i obrađuje ciljne podatke.
- Ovlašćenje za pristup: da li je korisnički nalog korišćen za izdvajanje ovlašćen da vidi sve prikupljene informacije.
- Ograničenja brzine i uticaj na sistem: da li automatizacija može da preoptereti servis ili aktivira otkrivanje zloupotrebe.
- Bezbednosne obaveze: da li se tokeni sesije, kolačići ili slični artefakti obrađuju bezbedno.
- Mogućnost revizije: da li se proces izdvajanja može objasniti, evidentirati i opravdati.
- Zahteve za čuvanje: da li se izdvojeni podaci čuvaju samo koliko je potrebno.
- Zahteve za privatnost: da li su lični podaci svedeni na minimum i zaštićeni.
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.

Ako se automatizacija oslanja na autentifikovanu sesiju, snažno se preporučuju sledeće kontrole:
- Koristite izolovan profil pregledača namenjen zadatku izdvajanja.
- Izbegavajte lični svakodnevni profil pregledača za automatizaciju.
- Ograničite dozvole naloga na minimalno potreban obim.
- Ne čuvajte materijal sesije u logovima ni izlaznim datotekama.
- Ne commit-ujte kredencijale ili tokene u kontrolu izvornog koda.
- Zaštitite generisane datoteke u skladu s klasifikacijom podataka.
- Pustite da sesija istekne ili je poništite kad se izdvajanje završi.
- Dokumentujte poslovno opravdanje izdvajanja.
- Ograničite brzinu zahteva da se izbegne nepotrebno opterećenje sistema.
- Pratite greške i nepotpuno izdvajanje.
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.

Javni API izlaže samo glavne zapise objekata, ali veb interfejs prikazuje dodatne informacije, kao što su:
- Istorija zapisa
- Beleške recenzenata
- Prelazi između statusa
- Povezani dokazi
- Metapodaci vidljivi korisniku
- Interni komentari
- Aktivnost s vremenskim oznakama
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.

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.