Instagram ir viena no populārākajām sociālo mediju vietnēm ar miljardiem lietotāju. Ikvienam, sākot no studentiem līdz slavenībām, ir Instagram konti. Publiskie dati no Instagram var būt ļoti vērtīgi uzņēmumiem, tirgotājiem un privātpersonām. Ikviens var izmantot šos datus, lai veiktu datu analīzi, mērķa mārketingu un gūtu ieskatus.

Varat izmantot Python, lai izveidotu automatizētu rīku, kas iegūst Instagram datus.

Nepieciešamo bibliotēku instalēšana

Instaloader ir Python bibliotēka, kuru varat izmantot, lai no Instagram izvilktu publiski pieejamus datus. Varat piekļūt tādiem datiem kā attēli, videoklipi, lietotājvārds, Nr. no ziņām, sekotāju skaits, sekotāju skaits, biogrāfija utt. izmantojot Instaloader. Ņemiet vērā, ka Instaloader nekādā veidā nav saistīts ar Instagram, nav pilnvarots, uzturēts vai apstiprināts.

Lai instalētu instaloader, izmantojot pip, palaidiet šādu komandu:

pip uzstādīt instalēšanas programma

Tev jābūt pip ir instalēts jūsu sistēmā lai instalētu ārējās Python bibliotēkas.

instagram viewer

Pēc tam jums jāinstalē Pandas Python bibliotēka. Pandas ir Python bibliotēka, ko galvenokārt izmanto, lai veiktu manipulācijas ar datiem un datu analīzi. Lai to instalētu, palaidiet šo komandu:

pip uzstādīt pandas

Tagad esat gatavs sākt koda iestatīšanu un datu izgūšanu no Instagram.

Koda iestatīšana

Lai iestatītu Instagram datu iegūšanas rīku, jums ir jāimportē Instaloader Python bibliotēka un jāizveido Instaloader klases gadījums. Pēc tam jums ir jānorāda tā profila Instagram rokturis, no kura vēlaties iegūt datus.

Instagram Extractor Python kods ir pieejams a GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.

imports instalēšanas programma

# Instaloader klases gadījuma izveide
bot = instaloader. Instaloader ()

# Profila ielāde no Instagram roktura
profils = instaloader. Profile.from_username (bot.context, 'Cristiano')
drukāt(profils)

Šis ir labs pirmais solis, lai pārbaudītu, kā darbojas pamati. Jums vajadzētu redzēt dažus nozīmīgus datus bez kļūdām:

Datu iegūšana no profila

Varat iegūt vērtīgus publiski pieejamus datus, piemēram, lietotājvārdu, Nr. ziņu skaits, sekotāju skaits, sekotāju skaits, biogrāfija, lietotāja ID un ārējais URL, izmantojot Instaloader tikai ar dažām koda rindiņām. Jums ir jānorāda tikai profila Instagram rokturis.

imports instalēšanas programma
imports pandas pd

# Instaloader klases gadījuma izveide
bot = instaloader. Instaloader ()

# Profila ielāde no Instagram roktura
profils = instaloader. Profile.from_username (bot.context, 'leomessi')
drukāt ("Lietotājvārds: ", profile.username)
drukāt ("Lietotāja ID: ", profile.userid)
drukāt ("Ziņu skaits: ", profile.mediacount)
drukāt ("Sekotāju skaits: ", profils.sekotāji)
drukāt ("Sekojošais skaits: ", profils.sekotāji)
drukāt ("Bio: ", profile.biography)
drukāt ("Ārējais URL: ", profile.external_url)

No norādītā roktura jums vajadzētu redzēt daudz profila informācijas:

E-pasta ziņojumu izvilkšana no Bio

Varat iegūt e-pasta adreses no jebkura profila Insta bio, izmantojot regulāras izteiksmes. Jums ir jāimportē Python's re bibliotēku un nosūtiet regulāro izteiksmi e-pasta apstiprināšanai kā parametru re.findall() metode:

imports instalēšanas programma
imports re
# Instaloader klases gadījuma izveide
bot = instaloader. Instaloader ()
profils = instaloader. Profile.from_username (bot.context, "bagātība")
drukāt ("Lietotājvārds: ", profile.username)
drukāt ("Bio: ", profile.biography)
e-pasti = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", profile.biography)
print("E-pasta ziņojumi ir izvilkti no biogrāfija:")
drukāt(e-pasti)

Skripts izdrukā visu, ko tas atpazīs kā e-pasta adresi biogrāfijā:

Populārāko meklēšanas rezultātu datu iegūšana

Meklējot kaut ko pakalpojumā Instagram, jūs saņemat vairākus rezultātus, tostarp lietotājvārdus un atsauces. Varat iegūt populārākos meklēšanas rezultātus, izmantojot get_profiles() un get_hashtags() metodes. Jums tikai jānorāda meklēšanas vaicājums instalēšanas programma. Populārākie meklēšanas rezultāti() metodi. Turklāt jūs varat atkārtot un izdrukāt/saglabāt individuālos rezultātus.

imports instalēšanas programma

# Instaloader klases gadījuma izveide
bot = instaloader. Instaloader ()

# Šeit norādiet meklēšanas vaicājumu
search_results = instaloader. TopSearchResults (bot.context, 'mūzika')

# Izvilkto lietotājvārdu atkārtošana
priekšlietotājvārdsiekšāMeklēšanas rezultāti.get_profiles():
drukāt(lietotājvārds)

# Izvilkto tēmturi atkārtošana
priekšhashtagiekšāMeklēšanas rezultāti.get_hashtags():
drukāt(tēmturis)

Izvadē tiks iekļauti visi atbilstošie lietotājvārdi un atsauces:

Sekotāju un sekotāju izvilkšana no konta

Izmantojot Instaloader, varat iegūt konta sekotājus un tos, kuriem tas seko pats. Lai izgūtu šos datus, jums būs jānorāda Instagram lietotājvārds un parole.

Nekad neizmantojiet savus personīgos kontus, lai iegūtu datus no Instagram, jo ​​tādējādi jūsu konts var tikt īslaicīgi vai neatgriezeniski aizliegts.

Pēc Instaloader klases instances izveides jums ir jānorāda savs lietotājvārds un parole. Tas ir paredzēts, lai robots varētu pieteikties Instagram, izmantojot jūsu kontu, un ienest sekotāju un sekotāju datus.

Tālāk jums ir jānorāda mērķa profila Instagram rokturis. The get_followers() un get_followees() metodes ekstrahē sekotājus un sekotājus. Varat iegūt sekotāju un sekotāju lietotājvārdus, izmantojot sekotājs.lietotājvārds un followee.username īpašības.

Ja vēlaties saglabāt rezultātus CSV failā, vispirms tie ir jāpārvērš Pandas DataFrame objektā. Izmantojiet pd. DataFrame() metode, lai pārvērstu saraksta objektu par DataFrame.

Visbeidzot, varat eksportēt DataFrame objektu uz CSV failu, izmantojot to_csv() metodi. Jums ir jānokārto faila nosaukums.csv kā šīs metodes parametru, lai iegūtu eksportētos datus CSV faila formātā.

Tikai kontu īpašnieki var redzēt visus sekotājus un sekotājus. Jūs nevarēsit iegūt visus sekotāju un sekotāju datus, izmantojot šo vai citu metodi.

# Bibliotēku importēšana
imports instalēšanas programma
imports pandas pd

# Instaloader klases gadījuma izveide
bot = instaloader. Instaloader ()
bot.login (lietotājs="Tavs lietotājvārds", passwd="Tava parole")

# Profila ielāde no Instagram roktura
profils = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Visu sekotāju lietotājvārdu izgūšana
sekotāji = [sekotājs.lietotājvārds sekotājam profilā.get_followers()]

# Datu konvertēšana DataFrame
sekotāji_df = pd. DataFrame (sekotāji)

# Rezultātu saglabāšana CSV failā
sekotāji_df.to_csv('sekotāji.csv', indekss = False)

# Visu sekojošo lietotājvārdu izgūšana
follows = [followee.lietotājvārds sekotājam profilā.get_followees()]

# Datu konvertēšana DataFrame
Follows_df = pd. DataFrame (sekojoši)

# Rezultātu saglabāšana CSV failā
Follows_df.to_csv('follows.csv', indekss = False)

Lejupielādējiet ziņas no Instagram konta

Atkal, lai lejupielādētu ziņas no jebkura konta, jums būs jānorāda lietotājvārds un parole. Tas ir tāpēc, lai robots varētu pieteikties Instagram, izmantojot jūsu kontu. Varat izgūt visus ziņu datus, izmantojot get_posts() metodi. Un jūs varat atkārtot un lejupielādēt visas atsevišķās ziņas, izmantojot download_post() metodi.

# Bibliotēku importēšana
imports instalēšanas programma
imports pandas pd

# Izveidojiet Instaloader klases gadījumu
bot = instaloader. Instaloader ()
bot.login (lietotājs="Tavs lietotājvārds",passwd="Tava parole")

# Profila ielāde no Instagram roktura
profils = instaloader. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Notiek visu ziņu izgūšana objektā
ziņas = profile.get_posts()

# Visu atsevišķo ziņu atkārtošana un lejupielāde
rādītājam, ierakstiet uzskaitē (ziņas, 1):
bot.download_post (post, target=f"{profils.lietotājvārds_{index}")

Nokasiet tīmekli, izmantojot Python

Datu skrāpēšana vai tīmekļa skrāpēšana ir viens no visizplatītākajiem veidiem, kā iegūt noderīgu informāciju no tīmekļa. Jūs varat izmantot iegūtos datus mārketingam, satura veidošanai vai lēmumu pieņemšanai.

Python ir vēlamā valoda datu skrāpēšanai. Tādas bibliotēkas kā BeautifulSoup, Scrapy un Pandas vienkāršo datu ieguvi, analīzi un vizualizāciju.