Instagram je eno najbolj priljubljenih družbenih medijev z milijardami uporabnikov. Vsi, od študentov do zvezdnikov, imajo Instagram račune. Javni podatki iz Instagrama so lahko izjemne vrednosti za podjetja, tržnike in posameznike. Vsakdo lahko te podatke uporabi za analizo podatkov, ciljno trženje in ustvarjanje vpogledov.

Python lahko uporabite za izdelavo avtomatiziranega orodja, ki ekstrahira podatke Instagrama.

Namestitev zahtevanih knjižnic

Instaloader je knjižnica Python, ki jo lahko uporabite za pridobivanje javno dostopnih podatkov iz Instagrama. Dostopate lahko do podatkov, kot so slike, videoposnetki, uporabniško ime, št. objav, število sledilcev, število sledilcev, življenjepis itd. z uporabo programa Instaloader. Upoštevajte, da Instaloader ni povezan z Instagramom, ga na noben način ne pooblašča, vzdržuje ali podpira.

Če želite namestiti instaloader prek pip, zaženite naslednji ukaz:

pip namestite instaloader

Morate imeti pip nameščen v vašem sistemu za namestitev zunanjih knjižnic Python.

instagram viewer

Nato morate namestiti knjižnico Pandas Python. Pandas je knjižnica Python, ki se uporablja predvsem za manipulacijo podatkov in analizo podatkov. Zaženite naslednji ukaz, da ga namestite:

pip namestite pande

Zdaj ste pripravljeni začeti nastavljati kodo in pridobivati ​​podatke iz Instagrama.

Nastavitev kode

Če želite nastaviti orodje za pridobivanje podatkov Instagram, morate uvoziti knjižnico Instaloader Python in ustvariti primerek razreda Instaloader. Po tem morate zagotoviti Instagram ročaj profila, iz katerega želite izvleči podatke.

Koda Instagram Extractor Python je na voljo v a Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

uvoz instaloader

# Ustvarjanje primerka razreda Instaloader
bot = nalagalnik. Instaloader()

# Nalaganje profila z Instagram ročaja
profil = instaloader. Profile.from_username (bot.context, 'cristiano')
tiskanje(profil)

To je dober prvi korak za preverjanje osnov dela. Videti bi morali nekaj pomembnih podatkov brez napak:

Pridobivanje podatkov iz profila

Izvlečete lahko dragocene javno dostopne podatke, kot je uporabniško ime, št. objav, število sledilcev, število sledilcev, življenjepis, ID uporabnika in zunanji URL z uporabo programa Instaloader z le nekaj vrsticami kode. Navesti morate samo Instagram ročaj profila.

uvoz instaloader
uvoz pande kot pd

# Ustvarjanje primerka razreda Instaloader
bot = nalagalnik. Instaloader()

# Nalaganje profila iz Instagram ročaja
profil = instaloader. Profile.from_username (bot.context, 'leomessi')
natisni("uporabniško ime: ", profil.uporabniško ime)
natisni("Uporabniško ime: ", profile.userid)
natisni("Število objav: ", profile.mediacount)
natisni("Število sledilcev: ", profile.followers)
natisni("Sledi štetje: ", profile.followees)
natisni("Bio: ", profil.biografija)
natisni("Zunanji URL: ", profile.external_url)

Videti bi morali veliko informacij o profilu iz ročaja, ki ga določite:

Pridobivanje e-poštnih sporočil iz biografije

E-poštne naslove lahko izvlečete iz biografije Insta katerega koli profila z uporabo regularni izrazi. Uvoziti morate Python re knjižnici in posredujte regularni izraz za preverjanje e-pošte kot parameter v re.findall() metoda:

uvoz instaloader
uvoz re
# Ustvarjanje primerka razreda Instaloader
bot = nalagalnik. Instaloader()
profil = instaloader. Profile.from_username (bot.context, "bogastvo")
natisni("uporabniško ime: ", profil.uporabniško ime)
natisni("Bio: ", 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("Izvlečena e-poštna sporočila od biografija :)
tiskanje(e-poštna sporočila)

Skript bo natisnil vse, kar prepozna kot e-poštni naslov v življenjepisu:

Pridobivanje podatkov o najboljših rezultatih iskanja

Ko iščete kar koli na Instagramu, dobite več rezultatov, vključno z uporabniškimi imeni in hashtagi. Najboljše rezultate iskanja lahko izvlečete z uporabo get_profiles() in get_hashtags() metode. Vnesti morate samo iskalno poizvedbo v instaloader. TopSearchResults() metoda. Nadalje lahko ponovite in natisnete/shranite posamezne rezultate.

uvoz instaloader

# Ustvarjanje primerka razreda Instaloader
bot = nalagalnik. Instaloader()

# Tukaj vnesite iskalno poizvedbo
search_results = instaloader. TopSearchResults (bot.context, 'glasba')

# Ponavljanje ekstrahiranih uporabniških imen
zauporabniško imevRezultati iskanja.get_profiles():
tiskanje(uporabniško ime)

# Ponavljanje izvlečenih hashtagov
zalojtravRezultati iskanja.get_hashtags():
tiskanje(lojtra)

Izhod bo vključeval vsa ujemajoča se uporabniška imena in hashtags:

Pridobivanje sledilcev in sledilcev računa

Z Instaloaderjem lahko izvlečete sledilce računa in tiste, ki jim sam sledi. Za pridobitev teh podatkov boste morali vnesti uporabniško ime in geslo za Instagram.

Nikoli ne uporabljajte svojih osebnih računov za pridobivanje podatkov iz Instagrama, saj lahko zaradi tega vaš račun začasno ali trajno prepovejo.

Ko ustvarite primerek razreda Instaloader, morate vnesti svoje uporabniško ime in geslo. To je zato, da se lahko bot prijavi v Instagram z vašim računom in pridobi podatke o sledilcih in spremljanjih.

Nato morate zagotoviti Instagram ročaj ciljnega profila. The get_followers() in get_followees() metode ekstrahirajo sledilce in sledilce. Uporabniška imena sledilcev in sledilcev lahko dobite z uporabo sledilec.uporabniško ime in followee.uporabniško ime lastnosti oz.

Če želite rezultate shraniti v datoteko CSV, morate podatke najprej pretvoriti v objekt Pandas DataFrame. Uporabi pd. DataFrame() metoda za pretvorbo predmeta seznama v DataFrame.

Končno lahko objekt DataFrame izvozite v datoteko CSV z uporabo to_csv() metoda. Prenesti morate ime datoteke.csv kot parameter te metode za pridobitev izvoženih podatkov v obliki datoteke CSV.

Samo lastniki računa lahko vidijo vse sledilce in sledilce. S to ali katero koli drugo metodo ne boste mogli izvleči vseh sledilcev in podatkov o spremljanju.

# Uvažanje knjižnic
uvoz instaloader
uvoz pande kot pd

# Ustvarjanje primerka razreda Instaloader
bot = nalagalnik. Instaloader()
bot.login (uporabnik="Vaše uporabniško ime", geslo="Vaše geslo")

# Nalaganje profila iz Instagram ročaja
profil = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Pridobivanje uporabniških imen vseh sledilcev
followers = [follower.uporabniško ime za sledilca v profile.get_followers()]

# Pretvarjanje podatkov v DataFrame
sledilci_df = pd. DataFrame (sledilci)

# Shranjevanje rezultatov v datoteko CSV
followers_df.to_csv('sledilci.csv', indeks=False)

# Pridobivanje uporabniških imen vseh naslednjih
follows = [followee.username za followee v profile.get_followees()]

# Pretvarjanje podatkov v DataFrame
follows_df = pd. DataFrame (spremljanja)

# Shranjevanje rezultatov v datoteko CSV
follows_df.to_csv('follows.csv', indeks=False)

Prenesite objave iz računa Instagram

Še enkrat, če želite prenesti objave iz katerega koli računa, morate vnesti uporabniško ime in geslo. To je zato, da se lahko bot prijavi v Instagram z vašim računom. Vse podatke o objavah lahko pridobite z uporabo get_posts() metoda. Vse posamezne objave lahko ponovite in prenesete z uporabo download_post() metoda.

# Uvažanje knjižnic
uvoz instaloader
uvoz pande kot pd

# Ustvarite primerek razreda Instaloader
bot = nalagalnik. Instaloader()
bot.login (uporabnik="Vaše uporabniško ime",passwd="Vaše geslo")

# Nalaganje profila iz Instagram ročaja
profil = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Pridobivanje vseh objav v objektu
objave = profile.get_posts()

# Ponavljanje in prenos vseh posameznih objav
za indeks, objavo v enumerate (objave, 1):
bot.download_post (objava, target=f"{profile.username}_{index}")

Strgajte splet s Pythonom

Podatkovno strganje ali spletno strganje je eden najpogostejših načinov pridobivanja uporabnih informacij iz spleta. Podatke, ki jih izvlečete, lahko uporabite za trženje, ustvarjanje vsebine ali odločanje.

Python je najprimernejši jezik za strganje podatkov. Knjižnice, kot so BeautifulSoup, Scrapy in Pandas, poenostavljajo ekstrakcijo, analizo in vizualizacijo podatkov.