Instagram är en av de mest populära sociala medierna med miljarder användare. Alla från studenter till kändisar har Instagramkonton. Den offentliga informationen från Instagram kan vara av enormt värde för företag, marknadsförare och privatpersoner. Vem som helst kan använda denna data för att utföra dataanalys, rikta marknadsföring och generera insikter.

Du kan använda Python för att bygga ett automatiserat verktyg som extraherar Instagram-data.

Installera nödvändiga bibliotek

Instaloader är ett Python-bibliotek som du kan använda för att extrahera allmänt tillgänglig data från Instagram. Du kan komma åt data som bilder, videor, användarnamn, nr. antal inlägg, antal följare, antal följare, bio osv. använder Instaloader. Observera att Instaloader inte är anslutet till, auktoriserat, underhållet eller godkänt av Instagram på något sätt.

För att installera instaloader via pip, kör följande kommando:

pip Installera instaloader

Du måste ha pip installerad på ditt system för att installera externa Python-bibliotek.

instagram viewer

Därefter måste du installera Pandas Python-biblioteket. Pandas är ett Python-bibliotek som huvudsakligen används för att utföra datamanipulation och dataanalys. Kör följande kommando för att installera det:

pip Installera pandor

Nu är du redo att börja ställa in koden och hämta data från Instagram.

Konfigurera din kod

För att ställa in Instagram-verktyget för datahämtning måste du importera Instaloader Python-biblioteket och skapa en instans av Instaloader-klassen. Efter det måste du tillhandahålla Instagram-handtaget för profilen som du vill extrahera data från.

Instagram Extractor Python-koden är tillgänglig i en GitHub-förråd och är gratis för dig att använda under MIT-licensen.

importera instaloader

# Skapar en instans av Instaloader-klassen
bot = instaloader. Instaloader()

# Laddar profilen från ett Instagram-handtag
profil = instaloader. Profile.from_username (bot.context, 'cristiano')
skriva ut(profil)

Detta är ett bra första steg för att kontrollera att grunderna fungerar. Du bör se några meningsfulla data utan fel:

Extrahera data från profil

Du kan extrahera värdefull allmänt tillgänglig data som användarnamn, nr. antal inlägg, antal följare, antal följare, bio, användar-ID och extern URL med hjälp av Instaloader med bara några rader kod. Du behöver bara ange profilens Instagram-handtag.

importera instaloader
importera pandor som pd

# Skapar en instans av Instaloader-klassen
bot = instaloader. Instaloader()

# Laddar en profil från ett Instagram-handtag
profil = instaloader. Profile.from_username (bot.context, 'leomessi')
skriva ut("Användarnamn: ", profil.användarnamn)
skriva ut("Användar ID: ", profile.userid)
skriva ut("Antal inlägg: ", profile.mediacount)
skriva ut("Antal följare: ", profile.followers)
skriva ut("Följande antal: ", profile.followees)
skriva ut("Biografi: ", profile.biography)
skriva ut("Extern URL: ", profile.external_url)

Du bör se massor av profilinformation från handtaget du anger:

Extrahera e-postmeddelanden från bio

Du kan extrahera e-postadresser från Insta-bio för vilken profil som helst med hjälp av vanliga uttryck. Du måste importera Python re biblioteket och skicka det reguljära uttrycket för att validera e-postmeddelandet som en parameter till re.findall() metod:

importera instaloader
importera re
# Skapar en instans av Instaloader-klassen
bot = instaloader. Instaloader()
profil = instaloader. Profile.from_username (bot.context, "rikedom")
skriva ut("Användarnamn: ", profil.användarnamn)
skriva ut("Biografi: ", profile.biography)
e-postmeddelanden = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profile.biography)
print("E-postmeddelanden extraherades från bion :)
skriva ut(e-post)

Skriptet kommer att skriva ut allt det känner igen som en e-postadress i bion:

Extrahera data för bästa sökresultat

När du söker efter något på Instagram får du flera resultat inklusive användarnamn och hashtags. Du kan extrahera de bästa sökresultaten med hjälp av get_profiles() och get_hashtags() metoder. Du behöver bara ange sökfrågan i instaloader. TopSearchResults() metod. Vidare kan du iterera och skriva ut/lagra de individuella resultaten.

importera instaloader

# Skapar en instans av Instaloader-klassen
bot = instaloader. Instaloader()

# Ange sökfrågan här
sökresultat = instaloader. TopSearchResults (bot.context, 'musik')

# Itererar över de extraherade användarnamnen
förAnvändarnamnisökresultat.get_profiles():
skriva ut(Användarnamn)

# Itererar över de extraherade hashtaggarna
förhashtagisökresultat.get_hashtags():
skriva ut(hashtag)

Utdata kommer att inkludera alla matchande användarnamn och hashtags:

Extrahera följare och följare av ett konto

Du kan extrahera anhängare av ett konto, och de som det följer själv, med Instaloader. Du måste ange ett Instagram-användarnamn och lösenord för att hämta denna data.

Använd aldrig dina personliga konton för att extrahera data från Instagram eftersom det kan få ditt konto tillfälligt eller permanent förbjudet.

När du har skapat en instans av Instaloader-klassen måste du ange ditt användarnamn och lösenord. Detta för att boten ska kunna logga in på Instagram med ditt konto och hämta data om följare och följare.

Därefter måste du tillhandahålla Instagram-handtaget för målprofilen. De get_followers() och get_followees() metoder extraherar följare och följare. Du kan få följares och följares användarnamn med hjälp av följare.användarnamn och followee.användarnamn fastigheter respektive.

Om du vill lagra resultaten i en CSV-fil måste du först konvertera data till ett Pandas DataFrame-objekt. Använd pd. DataFrame() metod för att konvertera ett listobjekt till en DataFrame.

Slutligen kan du exportera DataFrame-objektet till en CSV-fil med hjälp av to_csv() metod. Du måste klara filnamn.csv som en parameter till denna metod för att få exporterade data i CSV-filformatet.

Endast kontoägarna kan se alla följare och följare. Du kommer inte att kunna extrahera alla följare och följardata med denna eller någon annan metod.

# Importera bibliotek
importera instaloader
importera pandor som pd

# Skapar en instans av Instaloader-klassen
bot = instaloader. Instaloader()
bot.login (användare="Ditt användarnamn", passwd="Ditt lösenord")

# Laddar en profil från ett Instagram-handtag
profil = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Hämta användarnamnen för alla följare
följare = [följare.användarnamn för följare i profile.get_followers()]

# Konvertera data till en DataFrame
followers_df = pd. DataFrame (följare)

# Lagra resultaten i en CSV-fil
followers_df.to_csv('följare.csv', index=False)

# Hämtar användarnamnen för alla följande
follows = [followee.användarnamn för followee i profile.get_followees()]

# Konvertera data till en DataFrame
följande_df = pd. DataFrame (följer)

# Lagra resultaten i en CSV-fil
followings_df.to_csv('följande.csv', index=False)

Ladda ner inlägg från ett Instagram-konto

Återigen, för att ladda ner inlägg från vilket konto som helst, måste du ange ett användarnamn och lösenord. Detta är så att boten kan logga in på Instagram med ditt konto. Du kan hämta alla inläggsdata med hjälp av get_posts() metod. Och du kan iterera och ladda ner alla individuella inlägg med hjälp av download_post() metod.

# Importera bibliotek
importera instaloader
importera pandor som pd

# Skapa en instans av Instaloader-klassen
bot = instaloader. Instaloader()
bot.login (användare="Ditt användarnamn",passwd="Ditt lösenord")

# Laddar en profil från ett Instagram-handtag
profil = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Hämta alla inlägg i ett objekt
inlägg = profile.get_posts()

# Itererar och laddar ner alla enskilda inlägg
för index, posta i enumerate (inlägg, 1):
bot.download_post (post, target=f"{profile.username}_{index}")

Skrapa webben med Python

Dataskrapning eller webbskrapning är ett av de vanligaste sätten att extrahera användbar information från webben. Du kan använda data som du extraherar för marknadsföring, innehållsskapande eller beslutsfattande.

Python är det föredragna språket för dataskrapning. Bibliotek som BeautifulSoup, Scrapy och Pandas förenklar dataextraktion, analys och visualisering.