Instagram este unul dintre cele mai populare site-uri de socializare cu miliarde de utilizatori. Toată lumea, de la studenți la celebrități, are conturi Instagram. Datele publice de pe Instagram pot fi de o valoare imensă pentru companii, agenți de marketing și persoane fizice. Oricine poate folosi aceste date pentru a efectua analize de date, marketing vizat și pentru a genera informații.

Puteți folosi Python pentru a construi un instrument automat care extrage datele Instagram.

Instalarea bibliotecilor necesare

Installoader este o bibliotecă Python pe care o puteți folosi pentru a extrage date disponibile public de pe Instagram. Puteți accesa date precum imagini, videoclipuri, nume de utilizator, nr. de postări, numărul de urmăritori, numărul de urmăritori, biografia etc. folosind Installoader. Rețineți că Installoader nu este afiliat, autorizat, întreținut sau susținut de Instagram în niciun fel.

Pentru a instala installoader prin pip, rulați următoarea comandă:

pip instalare instalator

Trebuie să ai pip instalat pe sistemul dumneavoastră pentru a instala biblioteci externe Python.

Apoi, trebuie să instalați biblioteca Pandas Python. Pandas este o bibliotecă Python care este folosită în principal pentru a efectua manipularea și analiza datelor. Rulați următoarea comandă pentru ao instala:

pip instalare panda

Acum, sunteți gata să începeți configurarea codului și preluarea datelor din Instagram.

Configurarea codului dvs

Pentru a configura instrumentul de preluare a datelor Instagram, trebuie să importați biblioteca Python Installoader și să creați o instanță a clasei Installoader. După aceea, trebuie să furnizați handle-ul Instagram al profilului din care doriți să extrageți datele.

Codul Instagram Extractor Python este disponibil în format a Depozitul GitHub și este gratuit pentru utilizare sub licența MIT.

import instalator

# Crearea unei instanțe a clasei Installoader
bot = installoader. Installoader()

# Se încarcă profilul dintr-un mâner Instagram
profile = installoader. Profil.from_username (bot.context, 'cristiano')
imprimare(profil)

Acesta este un prim pas bun pentru a verifica funcționarea de bază. Ar trebui să vedeți câteva date semnificative, fără erori:

Extragerea datelor din profil

Puteți extrage date valoroase disponibile public, cum ar fi numele de utilizator, nr. de postări, numărul de urmăritori, numărul de urmăritori, biografia, ID-ul utilizatorului și adresa URL externă folosind Instaloader cu doar câteva rânduri de cod. Trebuie doar să furnizați identificatorul Instagram al profilului.

import instalator
import panda la fel de pd

# Crearea unei instanțe a clasei Installoader
bot = installoader. Installoader()

# Încărcarea unui profil dintr-un handle Instagram
profile = installoader. Profil.from_username (bot.context, 'leomessi')
imprimare("Nume de utilizator: ", profile.username)
imprimare("ID-ul de utilizator: ", profile.userid)
imprimare("Număr de postări: ", profile.mediacount)
imprimare("Numărul de urmăritori: ", profile.followers)
imprimare("Următorul număr: ", profile.followees)
imprimare("Bio: ", profil.biografie)
imprimare("URL extern: ", profile.external_url)

Ar trebui să vedeți o mulțime de informații de profil din handle-ul pe care îl specificați:

Extragerea e-mailurilor din bio

Puteți extrage adrese de e-mail din biografia Insta a oricărui profil folosind expresii obisnuite. Trebuie să importați Python-ul re bibliotecă și transmiteți expresia regulată pentru validarea e-mailului ca parametru către re.findall() metodă:

import instalator
import re
# Crearea unei instanțe a clasei Installoader
bot = installoader. Installoader()
profile = installoader. Profil.from_username (bot.context, "bogatie")
imprimare("Nume de utilizator: ", profile.username)
imprimare("Bio: ", profil.biografie)
e-mailuri = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profil.biografie)
print("E-mailuri extrase din bio:")
imprimare(e-mailuri)

Scriptul va imprima orice recunoaște ca adresă de e-mail în bio:

Extragerea datelor din rezultatele căutării de top

Când căutați ceva pe Instagram, obțineți mai multe rezultate, inclusiv nume de utilizator și hashtag-uri. Puteți extrage primele rezultate ale căutării folosind get_profiles() și get_hashtags() metode. Trebuie doar să furnizați interogarea de căutare în instalator. TopSearchResults() metodă. În plus, puteți repeta și tipări/stoca rezultatele individuale.

import instalator

# Crearea unei instanțe a clasei Installoader
bot = installoader. Installoader()

# Furnizați interogarea de căutare aici
search_results = installoader. TopSearchResults (bot.context, 'muzică')

# Iterarea peste numele de utilizator extrase
pentrunume de utilizatorînrezultatele cautarii.get_profiles():
imprimare(nume de utilizator)

# Iterarea peste hashtag-urile extrase
pentruhashtagînrezultatele cautarii.get_hashtag-uri():
imprimare(hashtag)

Ieșirea va include orice nume de utilizator și hashtag-uri care se potrivesc:

Extragerea urmăritorilor și urmăririlor unui cont

Puteți extrage urmăritorii unui cont și pe cei pe care acesta îi urmărește, folosind Installoader. Va trebui să furnizați un nume de utilizator și o parolă Instagram pentru a prelua aceste date.

Nu vă folosiți niciodată conturile personale pentru a extrage date de pe Instagram, deoarece contul dvs. poate fi interzis temporar sau definitiv.

După crearea unei instanțe a clasei Installoader, trebuie să furnizați numele de utilizator și parola. Acest lucru este pentru ca botul să se poată conecta la Instagram folosind contul dvs. și să preia datele de urmăritori și urmăritori.

Apoi, trebuie să furnizați mânerul Instagram al profilului țintă. The get_followers() și get_followees() metodele extrag adepții și urmăritorii. Puteți obține numele de utilizator ale urmăritorilor și celor urmăriți folosind urmar.nume de utilizator și followee.nume de utilizator respectiv proprietăți.

Dacă doriți să stocați rezultatele într-un fișier CSV, mai întâi trebuie să convertiți datele într-un obiect Pandas DataFrame. Folosește pd. DataFrame() metodă de a converti un obiect listă într-un DataFrame.

În cele din urmă, puteți exporta obiectul DataFrame într-un fișier CSV folosind to_csv() metodă. Trebuie să treci nume de fișier.csv ca parametru al acestei metode pentru a obține datele exportate în format de fișier CSV.

Doar proprietarii de cont pot vedea toți urmăritorii și urmăritorii. Nu veți putea extrage toate datele de urmărire și urmărire folosind această metodă sau orice altă metodă.

# Import de biblioteci
import instalator
import panda la fel de pd

# Crearea unei instanțe a clasei Installoader
bot = installoader. Installoader()
bot.login (utilizator="Nume de utilizator", passwd="Parola Dvs")

# Încărcarea unui profil dintr-un handle Instagram
profile = installoader. Profil.from_username (bot.context, 'Controlul_insta_contului_țintă_dvs.')

# Preluarea numelor de utilizator ale tuturor urmăritorilor
followers = [follower.username pentru urmăritor din profile.get_followers()]

# Convertirea datelor într-un DataFrame
followers_df = pd. DataFrame (abonați)

# Stocarea rezultatelor într-un fișier CSV
followers_df.to_csv('urmăritori.csv', index=fals)

# Preluarea numelor de utilizator ale tuturor celor care urmează
follows = [followee.nume de utilizator pentru urmaritul din profile.get_followees()]

# Convertirea datelor într-un DataFrame
follows_df = pd. DataFrame (următoarele)

# Stocarea rezultatelor într-un fișier CSV
follows_df.to_csv('urmăritori.csv', index=fals)

Descărcați postări dintr-un cont Instagram

Din nou, pentru a descărca postări din orice cont, va trebui să furnizați un nume de utilizator și o parolă. Acest lucru este pentru ca botul să se poată conecta la Instagram folosind contul dvs. Puteți recupera toate datele postărilor folosind get_posts() metodă. Și puteți repeta și descărca toate postările individuale folosind download_post() metodă.

# Import de biblioteci
import instalator
import panda la fel de pd

# Creați o instanță a clasei Installoader
bot = installoader. Installoader()
bot.login (utilizator="Nume de utilizator",passwd="Parola Dvs")

# Încărcarea unui profil dintr-un handle Instagram
profile = installoader. Profil.from_username (bot.context, 'Controlul_insta_contului_țintă_dvs.')

# Preluarea tuturor postărilor dintr-un obiect
posts = profile.get_posts()

# Iterarea și descărcarea tuturor postărilor individuale
pentru index, post în enumerare (postări, 1):
bot.download_post (post, target=f"{profile.username}_{index}")

Răzuiți web folosind Python

Data scraping sau web scraping este una dintre cele mai comune moduri de a extrage informații utile de pe web. Puteți utiliza datele pe care le extrageți pentru marketing, crearea de conținut sau luarea deciziilor.

Python este limbajul preferat pentru data scraping. Bibliotecile precum BeautifulSoup, Scrapy și Pandas simplifică extracția, analiza și vizualizarea datelor.