Detaljan vodič za preuzimanje podataka sa veba koristeći ChatGPT Code Interpreter i njegove dodatke.
Ako niste u fazi razvoja nekog potpuno novog projekta, vrlo verovatno će vam biti potrebni određeni preduslovi da biste započeli. Ili, možda želite da analizirate konkurenciju da biste pronašli ideje za poboljšanje. Osim toga, postoji veliki broj razloga zbog kojih bi neko mogao biti zainteresovan za sadržaj određene veb stranice.
Web scraping, odnosno preuzimanje podataka sa veba, je postupak koji se koristi upravo u takvim situacijama.
Postoji nekoliko načina da se to uradi. Postoje sofisticirani alati koji zahtevaju pretplatu za profesionalno preuzimanje podataka sa velikih veb lokacija. Alternativno, možda ćete morati da podesite posebno okruženje za lokalnu obradu.
U svakom slučaju, taj pristup je skup, oduzima mnogo vremena i zamoran je za početnike, posebno kada je u pitanju preuzimanje podataka sa nekoliko veb stranica.
Pregled ChatGPT-a za Web Scraping
Verujem da ne moram da vas upoznajem sa ChatGPT-om, zar ne?
Ukratko, ChatGPT je generativni AI koji komunicira kao čovek. Imate interfejs za razgovor pomoću kojeg možete da mu postavljate različite zadatke, kao što su traženje informacija o istorijskim događajima, pisanje eseja, sumiranje tekstova, prevođenje, kodiranje itd.
ChatGPT odgovara tekstom. Međutim, postoje dodaci za ChatGPT koji značajno proširuju njegove mogućnosti. Upravo ćemo jedan takav dodatak iskoristiti. Pored toga, koristićemo njegov Code Interpreter za preuzimanje podataka sa veb sajtova koji imaju kompleksnu strukturu ili aktivne protokole protiv scrapinga.
Važno je napomenuti da ChatGPT ima besplatnu i plaćenu verziju. Za korišćenje dodatka za web scraping ili mehanizma za tumačenje koda potrebna vam je plaćena pretplata (trenutno 20 USD mesečno).
U narednim odeljcima detaljno ću opisati postupak, korak po korak.
Izjava o odricanju od odgovornosti: Pre nego što sami nastavite, proverite da li veb lokacija sa koje želite da preuzimate podatke dozvoljava kopiranje njihovog sadržaja. Ako ne, možete kontaktirati njihovog administratora i zatražiti dozvolu kako biste izbegli potencijalne pravne probleme.
Web Scraping korišćenjem ChatGPT dodatka
Prijavite se na svoj OpenAI nalog, zadržite pokazivač iznad GPT-4 (trenutna plaćena verzija) i kliknite na „Dodaci“.
Zatim kliknite na opciju „Nema omogućenih dodataka“, skrolujte nadole i kliknite na „Prodavnica dodataka“.
Umesto opcije „Nema omogućenih dodataka“, možda ćete videti ikonicu dodatka ako je neki od njih već aktivan. U tom slučaju, kliknite na ikonicu da biste otvorili padajući meni i odaberite „Prodavnica dodataka“ na dnu.
Otvoriće se prodavnica dodataka. Potražite „Scraper“ i kliknite na „Instaliraj“.
Izaberite ovaj dodatak u ChatGPT interfejsu.
Nakon što ste izabrali dodatak, morate da date ChatGPT-u instrukciju, navodeći URL veb stranice i sadržaj koji želite da preuzmete.
Ja sam to uradio za nekoliko veb lokacija. Pogledajte primere.
Preuzimanje podataka sa publikacije
Mi smo publikacija fokusirana na tehnologiju, i za ovu demonstraciju sam izabrao našu početnu stranicu, techblog.co.rs.com.
Evo instrukcije:
check this webpage: https://techblog.co.rs.com/ and prepare a table indicating the article title, author, publication date, and excerpt for the top 10 articles.
Takođe, možete da zatražite da konvertuje podatke u CSV format, kopirate ih u tekstualnu datoteku sa ekstenzijom .csv i otvorite u aplikaciji za tabele kao što je MS Excel.
Preuzimanje podataka sa stranice sa ponudama ili kuponima
Na našoj stranici sa ponudama ručno izdvajamo najbolje ponude za tehnološke projekte. Šta kažete na preuzimanje svih ponuda u tabelarnom formatu?
Prepare a list of deals from this webpage: https://techblog.co.rs.com/deals/. present the result in a tabular format.
Preuzimanje podataka sa Vikipedije
Summarize in tabular format the latest news from the "in the news" section from this wikipedia page: https://en.wikipedia.org/wiki/Main_Page
Preuzimanje podataka sa prodavnica e-trgovine
Na kraju, pokušao sam da preuzmem podatke sa Amazon.com o laptop računarima primenom nekoliko filtera i unosom URL-a u ChatGPT. Ovo sam dobio:
Problem je što ovo nije izolovan slučaj. Naići ćete na mnoge situacije u kojima veb sajtovi imaju zaštitu od preuzimanja podataka. U tom slučaju, moraćete da pronađete alternativu za pribavljanje podataka ako pretplata na standardne alate za preuzimanje podataka nije opcija.
U sledećem odeljku ćemo opisati jedno takvo rešenje.
Web Scraping korišćenjem ChatGPT Code Interpreter-a
Code Interpreter je novi ChatGPT mehanizam za obavljanje zadataka povezanih sa programiranjem. Dok se standardni mehanizam uglavnom oslanja na tekstualne odgovore, Code Interpreter može da vam pomogne u vizualizaciji rezultata, raščlanjivanju podataka, pronalaženju i otklanjanju grešaka, izvršavanju koda, integraciji sa softverskim binarnim datotekama i mnogim drugim aktivnostima usmerenim na programiranje.
U ovom postupku ćemo preuzeti izvorni HTML, otpremiti ga u ChatGPT Code Interpreter i nastaviti sa preuzimanjem podataka.
Odabrao sam ovu stranicu za izdvajanje:
Prvo ćemo sačuvati veb stranicu kao HTML. Da biste to uradili, otvorite veb stranicu i pritisnite Ctrl+S.
Sada imamo datoteku za preuzimanje podataka. Pogledajmo instrukciju.
Pored tekstualne instrukcije, dali smo mu i primere elemenata kako bi brže izvršio preuzimanje podataka. S obzirom na kompleksnu strukturu Amazonove veb stranice, bez ovih primera pokušaj preuzimanja podataka može da propadne ili ne da nikakve rezultate.
Dobijanje ovih elemenata je vrlo jednostavno. Desnim klikom miša na bilo koje mesto na veb stranici i kliknite na „Inspect“ u iskačućem prozoru.
Prvo kliknite na najvišu ikonicu (označenu brojem 1). Ovo će označiti detalje dok birate elemente sa stranice. Zatim odaberite kontejnerski element za bilo koji određeni proizvod.
Obavezno odaberite najdublji kontejner. Možete da prelazite kursorom preko različitih elemenata i oni će se označavati. Kada dobijete poslednju ljusku koja pokriva taj blok, možete kliknuti i preći na desnu stranu da biste kopirali div klasu elementa.
Na sličan način odaberite primere za ostale elemente.
Na kraju, otpremite HTML i postavite zahtev sličan ovom:
check out this webpage html and extract the laptop titles, price, and ratings. present the result in a tabular format within this chat interface and also give the results in a CSV to download. div class="s-card-container s-overflow-hidden aok-relative puis-include-content-margin puis puis-vfcg1duwvmpo42mcln9ojhiljk s-latency-cf-section s-card-border" sample title element: span class="a-size-medium a-color-base a-text-normal" sample price element: span class="a-price-whole" sample ratings element: span class="a-size-base puis-bold-weight-text"
Ovo će potrajati dok ChatGPT tumač koda odradi svoj posao. Dobićete određene detalje, a sve će biti u ugrađenoj CSV datoteci.
Možete primetiti da tabela sadrži nekoliko unosa koji se ne nalaze na originalnoj veb stranici, posebno na početku. U takvim slučajevima, potrebno je još jednom da proverite i očistite podatke da biste uklonili suvišne unose.
Ako ih ima, možete ponovo da zatražite od ChatGPT-a da generiše čist CSV.
Završne misli
ChatGPT može da obavlja mnoge zadatke, a jedan od njih je i osnovno preuzimanje podataka sa veba. Slažem se, možda nije idealan za nekoga ko preuzima podatke sa stotina stranica. Međutim, može vam pomoći da krenete u pravom smeru i idealan je za kraće sesije preuzimanja podataka.
U ovom vodiču smo koristili jedan od njegovih dodataka za preuzimanje podataka i tumača koda. Dok dodaci funkcionišu na mnogim standardnim veb lokacijama, drugi metod je pogodan za prilagođene strukture veb stranica ili ako stranica ima dinamičke elemente (beskonačno skrolovanje, čitanje više itd.).
I da ponovim, pročitajte uslove korišćenja veb stranice pre nego što počnete.
P.S. Pogledajte ova rešenja za preuzimanje podataka u oblaku i naš sopstveni techblog.co.rs.com API za preuzimanje.