Instagram is een van de meest populaire sociale mediasites met miljarden gebruikers. Iedereen, van studenten tot beroemdheden, heeft Instagram-accounts. De openbare gegevens van Instagram kunnen van enorme waarde zijn voor bedrijven, marketeers en individuen. Iedereen kan deze gegevens gebruiken om gegevensanalyses uit te voeren, marketing te richten en inzichten te genereren.
U kunt Python gebruiken om een geautomatiseerde tool te bouwen die Instagram-gegevens extraheert.
Vereiste bibliotheken installeren
Installateur is een Python-bibliotheek die u kunt gebruiken om openbaar beschikbare gegevens van Instagram te extraheren. U hebt toegang tot gegevens zoals afbeeldingen, video's, gebruikersnaam, nee. van berichten, aantal volgers, aantal volgers, bio, etc. met Instaloader. Houd er rekening mee dat Instaloader op geen enkele manier is aangesloten bij, geautoriseerd, onderhouden of goedgekeurd door Instagram.
Voer de volgende opdracht uit om instaloader via pip te installeren:
Pip installeren installatielader
Je moet hebben pip op uw systeem geïnstalleerd om externe Python-bibliotheken te installeren.
Vervolgens moet u de Panda's Python-bibliotheek installeren. Pandas is een Python-bibliotheek die voornamelijk wordt gebruikt om gegevensmanipulatie en gegevensanalyse uit te voeren. Voer de volgende opdracht uit om het te installeren:
Pip installeren panda's
Nu ben je klaar om te beginnen met het instellen van de code en het ophalen van de gegevens van Instagram.
Uw code instellen
Om de Instagram-tool voor het ophalen van gegevens in te stellen, moet u de Instaloader Python-bibliotheek importeren en een instantie van de Instaloader-klasse maken. Daarna moet u het Instagram-handvat opgeven van het profiel waaruit u de gegevens wilt extraheren.
De Instagram Extractor Python-code is beschikbaar in een GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.
importeren installatielader
# Een instantie maken van de Instaloader-klasse
bot = installatielader. Installateur()
# Het profiel laden vanaf een Instagram-handvat
profiel = instaloader. Profiel.van_gebruikersnaam (bot.context, 'Cristiano')
afdrukken(profiel)
Dit is een goede eerste stap om het basiswerk te controleren. U zou een aantal zinvolle gegevens zonder fouten moeten zien:
Gegevens extraheren uit profiel
U kunt waardevolle openbaar beschikbare gegevens extraheren, zoals gebruikersnaam, nee. van berichten, aantal volgers, aantal volgers, bio, gebruikers-ID en externe URL met behulp van Instaloader met slechts een paar regels code. U hoeft alleen de Instagram-handle van het profiel op te geven.
importeren installatielader
importeren panda's als pd# Een instantie maken van de Instaloader-klasse
bot = installatielader. Installateur()
# Een profiel laden vanaf een Instagram-handvat
profiel = instaloader. Profiel.van_gebruikersnaam (bot.context, 'Leo Messi')
afdrukken("Gebruikersnaam: ", profiel.gebruikersnaam)
afdrukken("Gebruikersnaam: ", profiel.userid)
afdrukken("Aantal berichten: ", profiel.mediacount)
afdrukken("Aantal volgers: ", profiel.volgers)
afdrukken("Volgende telling: ", profiel.volgers)
afdrukken("Bio: ", profiel.biografie)
afdrukken("Externe URL: ", profiel.externe_url)
U zou veel profielinformatie moeten zien van de handle die u opgeeft:
E-mails uit bio halen
U kunt e-mailadressen uit de Insta-bio van elk profiel halen met behulp van normale uitdrukkingen. Je moet de Python's importeren met betrekking tot bibliotheek en geef de reguliere expressie voor het valideren van de e-mail als parameter door aan de re.findall() methode:
importeren installatielader
importeren met betrekking tot
# Een instantie van de Instaloader-klasse maken
bot = installatielader. Installateur()
profiel = instaloader. Profiel.van_gebruikersnaam (bot.context, "rijkdom")
afdrukken("Gebruikersnaam: ", profiel.gebruikersnaam)
afdrukken("Bio: ", profiel.biografie)
e-mails = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profiel.biografie)
print("E-mails geëxtraheerd van de biografie:")
afdrukken(e-mails)
Het script print alles wat het herkent als een e-mailadres in de bio:
Gegevens van topzoekresultaten extraheren
Wanneer je naar iets op Instagram zoekt, krijg je verschillende resultaten, waaronder gebruikersnamen en hashtags. U kunt de beste zoekresultaten extraheren met behulp van de get_profiles() En get_hashtags() methoden. U hoeft alleen de zoekopdracht in de installatielader. TopZoekresultaten() methode. Verder kunt u de individuele resultaten herhalen en afdrukken/opslaan.
importeren installatielader
# Een instantie maken van de Instaloader-klasse
bot = installatielader. Installateur()# Geef hier de zoekopdracht op
search_results = installatielader. TopSearchResults (bot.context, 'muziek')# Itereren over de geëxtraheerde gebruikersnamen
voorgebruikersnaaminZoekresultaten.get_profiles():
afdrukken(gebruikersnaam)
# Itereren over de geëxtraheerde hashtags
voorhashtaginZoekresultaten.get_hashtags():
afdrukken(hashtag)
De uitvoer bevat alle overeenkomende gebruikersnamen en hashtags:
Volgers en volgers van een account extraheren
Je kunt de volgers van een account extraheren, en degenen die het zelf volgt, met behulp van Instaloader. Je moet een Instagram-gebruikersnaam en -wachtwoord opgeven om deze gegevens op te halen.
Gebruik nooit uw persoonlijke accounts om gegevens van Instagram te extraheren, omdat uw account hierdoor tijdelijk of permanent kan worden verbannen.
Nadat u een instantie van de Instaloader-klasse hebt gemaakt, moet u uw gebruikersnaam en wachtwoord opgeven. Dit is zodat de bot kan inloggen op Instagram met uw account en de volgers en volggegevens kan ophalen.
Vervolgens moet u de Instagram-handle van het doelprofiel opgeven. De krijg_volgers() En get_followees() methoden extraheren de volgers en volgelingen. U kunt de gebruikersnamen van de volgers en volgers verkrijgen met behulp van de volger.gebruikersnaam En volgee.gebruikersnaam eigenschappen respectievelijk.
Als u de resultaten in een CSV-bestand wilt opslaan, moet u de gegevens eerst converteren naar een Pandas DataFrame-object. Gebruik de pd. gegevensframe() methode om een lijstobject om te zetten in een DataFrame.
Ten slotte kunt u het DataFrame-object exporteren naar een CSV-bestand met behulp van de naar_csv() methode. Je moet de bestandsnaam.csv als een parameter voor deze methode om de geëxporteerde gegevens in de CSV-bestandsindeling te krijgen.
Alleen de accounteigenaren kunnen alle volgers en volgers zien. U kunt met deze of een andere methode niet alle volgers en volggegevens extraheren.
# Bibliotheken importeren
importeren installatielader
importeren panda's als pd# Een instantie maken van de Instaloader-klasse
bot = installatielader. Installateur()
bot.login (gebruiker="Je gebruikersnaam", wachtwoord="Je wachtwoord")# Een profiel laden vanaf een Instagram-handvat
profiel = instaloader. Profiel.van_gebruikersnaam (bot.context, 'Uw_target_account_insta_handle')# Ophalen van de gebruikersnamen van alle volgers
volgers = [volger.gebruikersnaam voor volger in profiel.get_volgers()]# De gegevens converteren naar een DataFrame
volgers_df = pd. DataFrame (volgers)# Opslaan van de resultaten in een CSV-bestand
volgers_df.to_csv('volgers.csv', index=False)# Ophalen van de gebruikersnamen van alle volgers
volgenden = [followee.gebruikersnaam voor volgee in profile.get_followees()]# De gegevens converteren naar een DataFrame
volgende_df = pd. DataFrame (volgers)
# Opslaan van de resultaten in een CSV-bestand
volgende_df.to_csv('volgende.csv', index=False)
Berichten downloaden van een Instagram-account
Nogmaals, om berichten van elk account te downloaden, moet je een gebruikersnaam en wachtwoord opgeven. Dit is zodat de bot kan inloggen op Instagram met uw account. U kunt alle gegevens van de berichten ophalen met behulp van de krijg_posts() methode. En je kunt alle individuele berichten herhalen en downloaden met behulp van de download_post() methode.
# Bibliotheken importeren
importeren installatielader
importeren panda's als pd# Maak een instantie van de Instaloader-klasse
bot = installatielader. Installateur()
bot.login (gebruiker="Je gebruikersnaam",wachtwoord="Je wachtwoord")# Een profiel laden vanaf een Instagram-handvat
profiel = instaloader. Profiel.van_gebruikersnaam (bot.context, 'Uw_target_account_insta_handle')# Alle berichten in een object ophalen
posts = profiel.get_posts()
# Itereren en downloaden van alle individuele berichten
voor index, post in opsomming (posts, 1):
bot.download_post (post, target=f"{profiel.gebruikersnaam}_{index}")
Schraap het web met behulp van Python
Gegevensschrapen of webschrapen is een van de meest gebruikelijke manieren om nuttige informatie van internet te halen. U kunt de gegevens die u extraheert gebruiken voor marketing, contentcreatie of besluitvorming.
Python is de voorkeurstaal voor het schrapen van gegevens. Bibliotheken zoals BeautifulSoup, Scrapy en Panda's vereenvoudigen gegevensextractie, analyse en visualisatie.