Instagram je jedno od najpopularnijih društvenih medija s milijardama korisnika. Svi, od studenata do slavnih osoba, imaju Instagram račune. Javni podaci s Instagrama mogu biti od goleme vrijednosti za tvrtke, trgovce i pojedince. Svatko može koristiti ove podatke za analizu podataka, ciljani marketing i stvaranje uvida.
Python možete koristiti za izradu automatiziranog alata koji izvlači Instagram podatke.
Instaliranje potrebnih biblioteka
Instaloader je Python biblioteka koju možete koristiti za izdvajanje javno dostupnih podataka s Instagrama. Možete pristupiti podacima kao što su slike, videozapisi, korisničko ime, br. objava, broj pratitelja, broj praćenja, biografija itd. koristeći Instaloader. Imajte na umu da Instaloader nije povezan, ovlašten, održavan ili podržan od strane Instagrama ni na koji način.
Da biste instalirali instaloader putem pip-a, pokrenite sljedeću naredbu:
pip instalirati instalater
Moraš imati pip instaliran na vašem sustavu za instaliranje vanjskih Python biblioteka.
Zatim trebate instalirati Pandas Python biblioteku. Pandas je Python biblioteka koja se uglavnom koristi za manipulaciju i analizu podataka. Pokrenite sljedeću naredbu da biste ga instalirali:
pip instalirati pande
Sada ste spremni za početak postavljanja koda i dohvaćanja podataka s Instagrama.
Postavljanje vašeg koda
Da biste postavili Instagram alat za dohvaćanje podataka, trebate uvesti Instaloader Python biblioteku i stvoriti instancu Instaloader klase. Nakon toga morate osigurati Instagram handle profila s kojeg želite izvući podatke.
Kôd Instagram Extractor Python dostupan je u a GitHub spremište i besplatan je za korištenje pod MIT licencom.
uvoz instalater
# Stvaranje instance klase Instaloader
bot = instaloader. Instaloader()
# Učitavanje profila s Instagram drške
profil = instaloader. Profile.from_username (bot.kontekst, 'cristiano')
ispisati(profil)
Ovo je dobar prvi korak za provjeru osnovnog rada. Trebali biste vidjeti neke smislene podatke bez pogrešaka:
Izdvajanje podataka iz profila
Možete izdvojiti vrijedne javno dostupne podatke poput korisničkog imena, br. objava, broj sljedbenika, broj sljedbenika, biografija, ID korisnika i vanjski URL pomoću Instaloadera sa samo nekoliko redaka koda. Trebate samo navesti Instagram ime profila.
uvoz instalater
uvoz pande kao pd# Stvaranje instance klase Instaloader
bot = instaloader. Instaloader()
# Učitavanje profila s Instagrama
profil = instaloader. Profile.from_username (bot.kontekst, 'leomessi')
ispis("Korisničko ime: ", profil.korisničko ime)
ispis("ID korisnika: ", profile.userid)
ispis("Broj postova: ", profile.mediacount)
ispis("Broj sljedbenika: ", profil.sljedbenici)
ispis("Sljedeći broj: ", profile.followees)
ispis("Biografija: ", profil.biografija)
ispis("Vanjski URL: ", profile.external_url)
Trebali biste vidjeti puno informacija o profilu iz oznake koju navedete:
Izdvajanje e-pošte iz biografije
Možete izdvojiti adrese e-pošte iz Insta biografije bilo kojeg profila pomoću regularni izrazi. Morate uvesti Python ponovno knjižnici i proslijedite regularni izraz za provjeru valjanosti e-pošte kao parametar u re.findall() metoda:
uvoz instalater
uvoz ponovno
# Stvaranje instance klase Instaloader
bot = instaloader. Instaloader()
profil = instaloader. Profile.from_username (bot.kontekst, "bogatstvo")
ispis("Korisničko ime: ", profil.korisničko ime)
ispis("Biografija: ", profil.biografija)
e-pošta = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profil.biografija)
print("E-pošta izdvojena iz biografija :)
ispisati(e-pošta)
Skripta će ispisati sve što prepozna kao adresu e-pošte u biografiji:
Izdvajanje podataka o najboljim rezultatima pretraživanja
Kada tražite bilo što na Instagramu, dobivate nekoliko rezultata uključujući korisnička imena i hashtagove. Možete izdvojiti najbolje rezultate pretraživanja pomoću get_profiles() i get_hashtags() metode. Samo trebate unijeti upit za pretraživanje u instalater. TopSearchResults() metoda. Nadalje, možete ponavljati i ispisivati/pohraniti pojedinačne rezultate.
uvoz instalater
# Stvaranje instance klase Instaloader
bot = instaloader. Instaloader()# Ovdje unesite upit za pretraživanje
search_results = instaloader. TopSearchResults (bot.kontekst, 'glazba, muzika')# Ponavljanje ekstrahiranih korisničkih imena
zaKorisničko imeuRezultati pretraživanja.get_profiles():
ispisati(Korisničko ime)
# Ponavljanje izdvojenih hashtagova
zahashtaguRezultati pretraživanja.get_hashtags():
ispisati(hashtag)
Izlaz će uključivati sva odgovarajuća korisnička imena i hashtagove:
Izdvajanje sljedbenika i praćenja računa
Pomoću Instaloadera možete izdvojiti sljedbenike računa i one koje on sam prati. Morat ćete unijeti korisničko ime i lozinku za Instagram kako biste dohvatili ove podatke.
Nikada nemojte koristiti svoje osobne račune za izvlačenje podataka s Instagrama jer bi to moglo dovesti do privremene ili trajne zabrane vašeg računa.
Nakon što kreirate instancu klase Instaloader, trebate unijeti svoje korisničko ime i lozinku. To je tako da se bot može prijaviti na Instagram pomoću vašeg računa i dohvatiti podatke o sljedbenicima i praćenjima.
Zatim trebate navesti Instagram ručicu ciljanog profila. The get_followers() i get_followees() metode izdvajaju sljedbenike i sljedbenike. Možete dobiti korisnička imena sljedbenika i pratitelja pomoću sljedbenik.korisničko ime i followee.username svojstva odnosno.
Ako želite pohraniti rezultate u CSV datoteku, prvo trebate pretvoriti podatke u Pandas DataFrame objekt. Koristiti pd. DataFrame() metoda za pretvaranje objekta popisa u DataFrame.
Konačno, možete izvesti objekt DataFrame u CSV datoteku pomoću to_csv() metoda. Morate proći naziv datoteke.csv kao parametar ovoj metodi za dobivanje izvezenih podataka u formatu datoteke CSV.
Samo vlasnici računa mogu vidjeti sve sljedbenike i sljedbenike. Nećete moći izdvojiti sve podatke o sljedbenicima i sljedbenicima ovom ili bilo kojom drugom metodom.
# Uvoz knjižnica
uvoz instalater
uvoz pande kao pd# Stvaranje instance klase Instaloader
bot = instaloader. Instaloader()
bot.prijava (korisnik="Vaše korisničko ime", passwd="Tvoja lozinka")# Učitavanje profila s Instagrama
profil = instaloader. Profile.from_username (bot.kontekst, 'Your_target_account_insta_handle')# Dohvaćanje korisničkih imena svih sljedbenika
followers = [follower.korisničko ime za pratitelja u profile.get_followers()]# Pretvaranje podataka u DataFrame
sljedbenici_df = pd. DataFrame (sljedbenici)# Pohranjivanje rezultata u CSV datoteku
followers_df.to_csv('sljedbenici.csv', indeks=False)# Dohvaćanje korisničkih imena svih sljedećih
sljedbe = [followee.korisničko ime za pratioca u profilu.get_followees()]# Pretvaranje podataka u DataFrame
sljedbe_df = pd. DataFrame (praćenje)
# Pohranjivanje rezultata u CSV datoteku
follows_df.to_csv('sljedbe.csv', indeks=False)
Preuzmite postove s Instagram računa
Opet, za preuzimanje postova s bilo kojeg računa morat ćete unijeti korisničko ime i lozinku. To je tako da se bot može prijaviti na Instagram pomoću vašeg računa. Možete dohvatiti sve podatke o objavama pomoću get_posts() metoda. I možete ponavljati i preuzimati sve pojedinačne postove pomoću download_post() metoda.
# Uvoz knjižnica
uvoz instalater
uvoz pande kao pd# Napravite instancu klase Instaloader
bot = instaloader. Instaloader()
bot.prijava (korisnik="Vaše korisničko ime",passwd="Tvoja lozinka")# Učitavanje profila s Instagrama
profil = instaloader. Profile.from_username (bot.kontekst, 'Your_target_account_insta_handle')# Dohvaćanje svih postova u objektu
postovi = profile.get_posts()
# Ponavljanje i preuzimanje svih pojedinačnih postova
za indeks, objavite u popisu (postovi, 1):
bot.download_post (post, target=f"{profile.username}_{index}")
Scrape the Web koristeći Python
Struganje podataka ili struganje weba jedan je od najčešćih načina izvlačenja korisnih informacija s weba. Podatke koje izdvojite možete koristiti za marketing, stvaranje sadržaja ili donošenje odluka.
Python je preferirani jezik za struganje podataka. Knjižnice kao što su BeautifulSoup, Scrapy i Pandas pojednostavljuju ekstrakciju podataka, analizu i vizualizaciju.