Instagram è uno dei siti di social media più popolari con miliardi di utenti. Tutti, dagli studenti alle celebrità, hanno account Instagram. I dati pubblici di Instagram possono essere di immenso valore per aziende, operatori di marketing e individui. Chiunque può utilizzare questi dati per eseguire analisi dei dati, marketing mirato e generare approfondimenti.

Puoi usare Python per creare uno strumento automatizzato che estrae i dati di Instagram.

Installazione delle librerie richieste

Installatore è una libreria Python che puoi utilizzare per estrarre dati pubblicamente disponibili da Instagram. Puoi accedere a dati come immagini, video, username, no. di post, conteggio dei follower, conteggio dei follower, biografia, ecc. utilizzando Instaloader. Tieni presente che Instaloader non è affiliato, autorizzato, mantenuto o approvato da Instagram in alcun modo.

Per installare instaloader tramite pip, esegui il seguente comando:

pippo installare installer

Tu devi avere pip installato sul tuo sistema per installare librerie Python esterne.

instagram viewer

Successivamente, è necessario installare la libreria Pandas Python. Pandas è una libreria Python utilizzata principalmente per eseguire la manipolazione e l'analisi dei dati. Esegui il seguente comando per installarlo:

pippo installare panda

Ora sei pronto per iniziare a configurare il codice e recuperare i dati da Instagram.

Impostazione del codice

Per configurare lo strumento di recupero dei dati di Instagram, devi importare la libreria Python di Instaloader e creare un'istanza della classe Instaloader. Successivamente, è necessario fornire l'handle Instagram del profilo da cui si desidera estrarre i dati.

Il codice Python di Instagram Extractor è disponibile in formato a Deposito GitHub ed è gratuito per l'uso sotto la licenza MIT.

importare installer

# Creazione di un'istanza della classe Instaloader
bot = installatore. Installatore()

# Caricamento del profilo da un handle di Instagram
profilo = installatore. Profile.from_username (bot.contesto, 'cristiano')
stampa(profilo)

Questo è un buon primo passo per verificare il lavoro di base. Dovresti vedere alcuni dati significativi senza errori:

Estrazione dei dati dal profilo

Puoi estrarre preziosi dati pubblicamente disponibili come nome utente, no. di post, conteggio dei follower, conteggio dei follower, biografia, ID utente e URL esterno utilizzando Instaloader con poche righe di codice. Devi solo fornire l'handle Instagram del profilo.

importare installer
importare panda COME pd

# Creazione di un'istanza della classe Instaloader
bot = installatore. Installatore()

# Caricamento di un profilo da un handle di Instagram
profilo = installatore. Profile.from_username (bot.contesto, 'leomessi')
stampa("Nome utente: ", profilo.nomeutente)
stampa("ID utente: ", profilo.userid)
stampa("Numero di messaggi: ", profilo.mediacount)
stampa("Conteggio follower: ", profilo.follower)
stampa("Conteggio seguente: ", profilo.followees)
stampa("Biografia: ", profilo.biografia)
stampa("URL esterno: ", profilo.external_url)

Dovresti vedere molte informazioni sul profilo dall'handle che specifichi:

Estrazione di email dalla biografia

Puoi estrarre gli indirizzi email dalla biografia di Insta di qualsiasi profilo utilizzando espressioni regolari. Devi importare i file Python Rif library e passare l'espressione regolare per la convalida dell'e-mail come parametro al file re.trovall() metodo:

importare installer
importare Rif
# Creazione di un'istanza della classe Instaloader
bot = installatore. Installatore()
profilo = installatore. Profile.from_username (bot.contesto, "ricchezza")
stampa("Nome utente: ", profilo.nomeutente)
stampa("Biografia: ", profilo.biografia)
email = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profilo.biografia)
print("Email estratte da la biografia:")
stampa(e-mail)

Lo script stamperà qualsiasi cosa riconosca come indirizzo email nella biografia:

Estrazione dei dati dei risultati di ricerca principali

Quando cerchi qualcosa su Instagram, ottieni diversi risultati inclusi nomi utente e hashtag. È possibile estrarre i risultati di ricerca principali utilizzando il file get_profiles() E get_hashtag() metodi. Devi solo fornire la query di ricerca nel file installer. TopSearchResults() metodo. Inoltre, puoi iterare e stampare/memorizzare i singoli risultati.

importare installer

# Creazione di un'istanza della classe Instaloader
bot = installatore. Installatore()

# Fornisci qui la query di ricerca
search_results = programma di installazione. TopSearchResults (bot.contesto, 'musica')

# Iterazione sui nomi utente estratti
pernome utenteInrisultati di ricerca.get_profiles():
stampa(nome utente)

# Iterazione sugli hashtag estratti
perhashtagInrisultati di ricerca.get_hashtag():
stampa(hashtag)

L'output includerà eventuali nomi utente e hashtag corrispondenti:

Estrazione di follower e follower di un account

Puoi estrarre i follower di un account e quelli che segue se stesso, utilizzando Instaloader. Dovrai fornire un nome utente e una password Instagram per recuperare questi dati.

Non utilizzare mai i tuoi account personali per estrarre dati da Instagram in quanto potrebbe bloccare temporaneamente o permanentemente il tuo account.

Dopo aver creato un'istanza della classe Instaloader, è necessario fornire nome utente e password. In questo modo il bot può accedere a Instagram utilizzando il tuo account e recuperare i dati di follower e follower.

Successivamente, devi fornire l'handle Instagram del profilo di destinazione. IL get_follower() E get_followees() i metodi estraggono i follower e i followees. Puoi ottenere i nomi utente dei follower e dei followees utilizzando il file seguace.nomeutente E followee.nomeutente proprietà rispettivamente.

Se desideri archiviare i risultati in un file CSV, devi prima convertire i dati in un oggetto Pandas DataFrame. Usa il pd. DataFrame() metodo per convertire un oggetto elenco in un DataFrame.

Infine, puoi esportare l'oggetto DataFrame in un file CSV utilizzando l'estensione to_csv() metodo. Devi passare il nomefile.csv come parametro di questo metodo per ottenere i dati esportati nel formato di file CSV.

Solo i proprietari dell'account possono vedere tutti i follower e i follower. Non sarai in grado di estrarre tutti i dati di follower e follower utilizzando questo o qualsiasi altro metodo.

# Importazione di librerie
importare installer
importare panda COME pd

# Creazione di un'istanza della classe Instaloader
bot = installatore. Installatore()
bot.login (utente="Il tuo nome utente", password="La tua password")

# Caricamento di un profilo da un handle di Instagram
profilo = installatore. Profile.from_username (bot.contesto, 'Your_target_account_insta_handle')

# Recupero dei nomi utente di tutti i follower
follower = [follower.username per follower in profile.get_followers()]

# Conversione dei dati in un DataFrame
follower_df = pd. DataFrame (follower)

# Memorizzazione dei risultati in un file CSV
followers_df.to_csv('follower.csv', indice=falso)

# Recuperare i nomi utente di tutti i seguenti
followings = [followee.username per followee in profile.get_followees()]

# Conversione dei dati in un DataFrame
seguenti_df = pd. DataFrame (seguenti)

# Memorizzazione dei risultati in un file CSV
seguenti_df.to_csv('seguenti.csv', indice=falso)

Scarica post da un account Instagram

Ancora una volta, per scaricare post da qualsiasi account, dovrai fornire un nome utente e una password. In questo modo il bot può accedere a Instagram utilizzando il tuo account. Puoi recuperare tutti i dati dei post utilizzando il file get_post() metodo. E puoi iterare e scaricare tutti i singoli post usando il file download_post() metodo.

# Importazione di librerie
importare installer
importare panda COME pd

# Crea un'istanza della classe Instaloader
bot = installatore. Installatore()
bot.login (utente="Il tuo nome utente",password="La tua password")

# Caricamento di un profilo da un handle di Instagram
profilo = installatore. Profile.from_username (bot.contesto, 'Your_target_account_insta_handle')

# Recupero di tutti i messaggi in un oggetto
post = profile.get_posts()

# Iterazione e download di tutti i singoli post
per indice, post in enumerazione (post, 1):
bot.download_post (post, target=f"{profilo.nomeutente}_{indice}")

Raschiare il Web usando Python

Il data scraping o web scraping è uno dei modi più comuni per estrarre informazioni utili dal web. Puoi utilizzare i dati che estrai per il marketing, la creazione di contenuti o il processo decisionale.

Python è il linguaggio preferito per lo scraping dei dati. Librerie come BeautifulSoup, Scrapy e Pandas semplificano l'estrazione, l'analisi e la visualizzazione dei dati.