Instagram er et af de mest populære sociale medier med milliarder af brugere. Alle fra studerende til berømtheder har Instagram-konti. De offentlige data fra Instagram kan være af enorm værdi for virksomheder, marketingfolk og enkeltpersoner. Alle kan bruge disse data til at udføre dataanalyse, målrette markedsføring og generere indsigt.
Du kan bruge Python til at bygge et automatiseret værktøj, der udtrækker Instagram-data.
Installation af nødvendige biblioteker
Instaloader er et Python-bibliotek, du kan bruge til at udtrække offentligt tilgængelige data fra Instagram. Du kan få adgang til data som billeder, videoer, brugernavn, nr. af indlæg, antal følgere, antal følgere, bio osv. ved hjælp af Instaloader. Bemærk, at Instaloader ikke er tilknyttet, autoriseret, vedligeholdt eller godkendt af Instagram på nogen måde.
For at installere instaloader via pip skal du køre følgende kommando:
pip installere instaloader
Du må have pip installeret på dit system at installere eksterne Python-biblioteker.
Dernæst skal du installere Pandas Python-biblioteket. Pandas er et Python-bibliotek, der hovedsageligt bruges til at udføre datamanipulation og dataanalyse. Kør følgende kommando for at installere det:
pip installere pandaer
Nu er du klar til at begynde at opsætte koden og hente dataene ud af Instagram.
Opsætning af din kode
For at konfigurere Instagram-datahentningsværktøjet skal du importere Instaloader Python-biblioteket og oprette en forekomst af Instaloader-klassen. Derefter skal du angive Instagram-håndtaget til den profil, som du vil udtrække dataene fra.
Instagram Extractor Python-koden er tilgængelig i en GitHub-depot og er gratis for dig at bruge under MIT-licensen.
importere instaloader
# Oprettelse af en instans af Instaloader-klassen
bot = instaloader. Instaloader()
# Indlæser profilen fra et Instagram-håndtag
profil = instaloader. Profile.fra_brugernavn (bot.context, 'cristiano')
Print(profil)
Dette er et godt første skridt til at kontrollere det grundlæggende arbejde. Du bør se nogle meningsfulde data uden fejl:
Udtræk data fra profil
Du kan udtrække værdifulde offentligt tilgængelige data som brugernavn, no. af indlæg, tæller følgere, antal følgere, bio, bruger-id og ekstern URL ved hjælp af Instaloader med blot et par linjer kode. Du behøver kun at angive Instagram-håndtaget på profilen.
importere instaloader
importere pandaer som pd# Oprettelse af en instans af Instaloader-klassen
bot = instaloader. Instaloader()
# Indlæsning af en profil fra et Instagram-håndtag
profil = instaloader. Profile.fra_brugernavn (bot.context, 'leomessi')
Print("Brugernavn: ", profil.brugernavn)
Print("Bruger ID: ", profil.brugerid)
Print("Antal indlæg: ", profile.mediacount)
Print("Antal følgere: ", profile.followers)
Print("Følgende antal: ", profile.followees)
Print("Biografi: ", profile.biography)
Print("Ekstern URL: ", profile.external_url)
Du bør se masser af profiloplysninger fra det håndtag, du angiver:
Udtræk e-mails fra bio
Du kan udtrække e-mail-adresser fra Insta-bio af enhver profil ved hjælp af regulære udtryk. Du skal importere Python'erne vedr bibliotek og videregive det regulære udtryk til validering af e-mailen som en parameter til re.findall() metode:
importere instaloader
importere vedr
# Oprettelse af en instans af Instaloader-klassen
bot = instaloader. Instaloader()
profil = instaloader. Profile.fra_brugernavn (bot.context, "rigdom")
Print("Brugernavn: ", profil.brugernavn)
Print("Biografi: ", profile.biography)
e-mails = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profile.biography)
print("E-mails udtrukket fra bio :)
Print(e-mails)
Scriptet vil udskrive alt, hvad det genkender som en e-mailadresse i bio:
Udtrækning af topsøgeresultatdata
Når du søger efter noget på Instagram, får du flere resultater inklusive brugernavne og hashtags. Du kan udtrække de øverste søgeresultater ved hjælp af get_profiles() og get_hashtags() metoder. Du behøver kun at angive søgeforespørgslen i instaloader. Topsøgeresultater() metode. Yderligere kan du iterere og udskrive/gemme de individuelle resultater.
importere instaloader
# Oprettelse af en instans af Instaloader-klassen
bot = instaloader. Instaloader()# Angiv søgeforespørgslen her
søgeresultater = instaloader. TopSearchResults (bot.context, 'musik')# Gentagelse over de udtrukne brugernavne
tilbrugernavniSøgeresultater.get_profiles():
Print(brugernavn)
# Iteration over de udtrukne hashtags
tilhashtagiSøgeresultater.get_hashtags():
Print(hashtag)
Outputtet vil inkludere alle matchende brugernavne og hashtags:
Udtrækning af følgere og følgere af en konto
Du kan udtrække følgerne af en konto, og dem, som den følger selv, ved hjælp af Instaloader. Du skal angive et Instagram-brugernavn og en adgangskode for at hente disse data.
Brug aldrig dine personlige konti til at udtrække data fra Instagram, da det kan få din konto midlertidigt eller permanent forbudt.
Efter at have oprettet en forekomst af Instaloader-klassen, skal du angive dit brugernavn og din adgangskode. Dette er for at botten kan logge ind på Instagram ved hjælp af din konto og hente følgere og følgerdata.
Dernæst skal du give Instagram-håndtaget til målprofilen. Det få_følgere() og get_followees() metoder trækker følgere og følgere ud. Du kan få følgernes og følgernes brugernavne ved at bruge følger.brugernavn og followee.brugernavn ejendomme hhv.
Hvis du vil gemme resultaterne i en CSV-fil, skal du først konvertere dataene til et Pandas DataFrame-objekt. Brug pd. DataFrame() metode til at konvertere et listeobjekt til en DataFrame.
Endelig kan du eksportere DataFrame-objektet til en CSV-fil ved hjælp af to_csv() metode. Du skal bestå filnavn.csv som en parameter til denne metode for at få de eksporterede data i CSV-filformatet.
Kun kontoejerne kan se alle følgere og følgere. Du vil ikke være i stand til at udtrække alle følgere og følgerdata ved hjælp af denne eller nogen anden metode.
# Importerer biblioteker
importere instaloader
importere pandaer som pd# Oprettelse af en instans af Instaloader-klassen
bot = instaloader. Instaloader()
bot.login (bruger="Dit brugernavn", passwd="Dit kodeord")# Indlæsning af en profil fra et Instagram-håndtag
profil = instaloader. Profile.fra_brugernavn (bot.context, 'Your_target_account_insta_handle')# Henter brugernavnene på alle følgere
følgere = [følger.brugernavn til følger i profile.get_followers()]# Konvertering af data til en DataFrame
følgere_df = pd. DataFrame (følgere)# Lagring af resultaterne i en CSV-fil
followers_df.to_csv('følgere.csv', indeks=False)# Henter brugernavnene for alle følgere
follows = [followee.brugernavn for followee i profile.get_followees()]# Konvertering af data til en DataFrame
follows_df = pd. DataFrame (følger)
# Lagring af resultaterne i en CSV-fil
follows_df.to_csv('følgende.csv', indeks=False)
Download indlæg fra en Instagram-konto
Igen, for at downloade indlæg fra en hvilken som helst konto, skal du angive et brugernavn og en adgangskode. Dette er så botten kan logge ind på Instagram ved hjælp af din konto. Du kan hente alle indlæggenes data ved hjælp af få_indlæg() metode. Og du kan gentage og downloade alle de individuelle indlæg ved hjælp af download_post() metode.
# Importerer biblioteker
importere instaloader
importere pandaer som pd# Opret en forekomst af Instaloader-klassen
bot = instaloader. Instaloader()
bot.login (bruger="Dit brugernavn",passwd="Dit kodeord")# Indlæsning af en profil fra et Instagram-håndtag
profil = instaloader. Profile.fra_brugernavn (bot.context, 'Your_target_account_insta_handle')# Henter alle indlæg i et objekt
indlæg = profile.get_posts()
# Gentagelse og download af alle de individuelle indlæg
for indeks, post i enumerate (indlæg, 1):
bot.download_post (post, target=f"{profile.brugernavn}_{index}")
Skrab internettet ved hjælp af Python
Dataskrabning eller webskrabning er en af de mest almindelige måder at udtrække nyttig information fra nettet på. Du kan bruge de data, du udtrækker, til markedsføring, skabelse af indhold eller beslutningstagning.
Python er det foretrukne sprog til dataskrabning. Biblioteker som BeautifulSoup, Scrapy og Pandas forenkler dataudtræk, analyse og visualisering.