Инстаграм је једна од најпопуларнијих друштвених мрежа са милијардама корисника. Сви, од студената до познатих личности, имају Инстаграм налоге. Јавни подаци са Инстаграма могу бити од огромне вредности за предузећа, трговце и појединце. Свако може да користи ове податке за анализу података, циљани маркетинг и генерисање увида.

Можете да користите Питхон да направите аутоматизовани алат који издваја Инстаграм податке.

Инсталирање потребних библиотека

Инсталоадер је Питхон библиотека коју можете користити за издвајање јавно доступних података са Инстаграма. Можете приступити подацима као што су слике, видео снимци, корисничко име, бр. постова, броја пратилаца, броја праћења, биографије итд. користећи Инсталоадер. Имајте на уму да Инсталоадер ни на који начин није повезан са Инстаграмом, није овлашћен, не одржава нити подржава Инстаграм.

Да бисте инсталирали инсталоадер преко пип-а, покрените следећу команду:

пип инсталирај инсталоадер

Морате имати пип инсталиран на вашем систему да инсталирате екстерне Питхон библиотеке.

instagram viewer

Затим морате да инсталирате Пандас Питхон библиотеку. Пандас је Питхон библиотека која се углавном користи за обављање манипулације подацима и анализу података. Покрените следећу команду да бисте је инсталирали:

пип инсталирај панде

Сада сте спремни да почнете да подешавате код и преузимате податке са Инстаграма.

Подешавање кода

Да бисте подесили Инстаграм алатку за преузимање података, потребно је да увезете Инсталоадер Питхон библиотеку и креирате инстанцу класе Инсталоадер. Након тога, потребно је да наведете Инстаграм ручицу профила из којег желите да извучете податке.

Инстаграм Ектрацтор Питхон код је доступан у а ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

увоз инсталоадер

# Креирање инстанце класе Инсталоадер
бот = инсталоадер. Инсталоадер()

# Учитавање профила са Инстаграм ручке
профил = инсталоадер. Профиле.фром_усернаме (бот.цонтект, 'цристиано')
принт(профил)

Ово је добар први корак да проверите основе рада. Требало би да видите неке значајне податке без грешака:

Издвајање података из профила

Можете издвојити вредне јавно доступне податке као што је корисничко име, бр. постова, броја пратилаца, броја праћења, биографије, ИД-а корисника и спољне УРЛ адресе користећи Инсталоадер са само неколико линија кода. Потребно је само да наведете Инстаграм ручицу профила.

увоз инсталоадер
увоз панде као пд

# Креирање инстанце класе Инсталоадер
бот = инсталоадер. Инсталоадер()

# Учитавање профила са Инстаграм ручке
профил = инсталоадер. Профиле.фром_усернаме (бот.цонтект, 'леомесси')
штампа ("Корисничко име: ", профил.корисничко име)
штампа ("ИД корисник: ", профиле.усерид)
штампа ("Број постова: ", профиле.медиацоунт)
штампа ("Број пратилаца: ", профиле.фолловерс)
штампа ("Следећи број: ", профиле.фолловеес)
штампа ("биографија: ", профил.биографија)
штампа ("Спољни УРЛ: ", профиле.ектернал_урл)

Требало би да видите много информација о профилу из ручке коју наведете:

Извлачење е-поште из биографије

Можете да издвојите адресе е-поште из Инста биографије било ког профила користећи регуларни изрази. Морате да увезете Питхон ре библиотеци и проследите регуларни израз за валидацију е-поште као параметар у ре.финдалл() метод:

увоз инсталоадер
увоз ре
# Креирање инстанце класе Инсталоадер
бот = инсталоадер. Инсталоадер()
профил = инсталоадер. Профиле.фром_усернаме (бот.цонтект, "богатство")
штампа ("Корисничко име: ", профил.корисничко име)
штампа ("биографија: ", профил.биографија)
емаилс = ре.финдалл (р"\б[А-За-з0-9._%+-]+@[А-За-з0-9.-]+\.[А-З|а-з]{2,}\б", профил.биографија)
принт("Е-поруке су екстраховане из биографија:")
принт(мејлови)

Скрипта ће одштампати све што препозна као адресу е-поште у биографији:

Екстраховање података о најбољим резултатима претраге

Када тражите било шта на Инстаграму, добијате неколико резултата укључујући корисничка имена и хасхтагове. Можете издвојити најбоље резултате претраге користећи гет_профилес() и гет_хасхтагс() методе. Потребно је само да наведете упит за претрагу у инсталоадер. ТопСеарцхРесултс() методом. Даље, можете понављати и штампати/чувати појединачне резултате.

увоз инсталоадер

# Креирање инстанце класе Инсталоадер
бот = инсталоадер. Инсталоадер()

# Наведите упит за претрагу овде
сеарцх_ресултс = инсталоадер. ТопСеарцхРесултс (бот.цонтект, 'музика')

# Итерација преко екстрахованих корисничких имена
закорисничко имеинРезултати претраге.гет_профилес():
принт(корисничко име)

# Итерација преко екстрахованих хасхтагова
захаштегинРезултати претраге.гет_хасхтагс():
принт(хаштег)

Излаз ће укључивати сва одговарајућа корисничка имена и хасхтагове:

Издвајање пратилаца и праћења налога

Можете да издвојите пратиоце налога, и оне које он сам прати, користећи Инсталоадер. Мораћете да наведете Инстаграм корисничко име и лозинку да бисте преузели ове податке.

Никада не користите своје личне налоге за издвајање података са Инстаграма јер то може привремено или трајно блокирати ваш налог.

Након креирања инстанце класе Инсталоадер, потребно је да унесете своје корисничко име и лозинку. Ово је тако да бот може да се пријави на Инстаграм користећи ваш налог и преузме податке о пратиоцима и пратиоцима.

Затим морате да наведете Инстаграм ручицу циљног профила. Тхе гет_фолловерс() и гет_фолловеес() методе издвајају следбенике и пратиоце. Можете добити корисничка имена пратилаца и пратилаца користећи пратилац.корисничко име и фолловее.усернаме својства респективно.

Ако желите да сачувате резултате у ЦСВ датотеци, прво морате да конвертујете податке у Пандас ДатаФраме објекат. Користити пд. Оквир података() метод за претварање објекта листе у ДатаФраме.

Коначно, можете извести објекат ДатаФраме у ЦСВ датотеку користећи то_цсв() методом. Морате проћи име датотеке.цсв као параметар за овај метод да добијете извезене податке у формату ЦСВ датотеке.

Само власници налога могу да виде све пратиоце и пратиоце. Нећете моћи да издвојите све податке о пратиоцима и пратиоцима користећи овај или било који други метод.

# Увоз библиотека
увоз инсталоадер
увоз панде као пд

# Креирање инстанце класе Инсталоадер
бот = инсталоадер. Инсталоадер()
бот.логин (корисник="Твоје корисничко име", пассвд="Ваша лозинка")

# Учитавање профила са Инстаграм ручке
профил = инсталоадер. Профиле.фром_усернаме (бот.цонтект, 'Иоур_таргет_аццоунт_инста_хандле')

# Преузимање корисничких имена свих пратилаца
фолловерс = [фолловер.усернаме фор фолловер ин профиле.гет_фолловерс()]

# Конвертовање података у ДатаФраме
фолловерс_дф = пд. ДатаФраме (пратиоци)

# Чување резултата у ЦСВ датотеци
фолловерс_дф.то_цсв('фолловерс.цсв', индек=Фалсе)

# Преузимање корисничких имена свих следећих
фолловс = [фолловее.усернаме фор фолловее ин профиле.гет_фолловеес()]

# Конвертовање података у ДатаФраме
Фолловс_дф = пд. ДатаФраме (следи)

# Чување резултата у ЦСВ датотеци
Фолловс_дф.то_цсв('Фолловс.цсв', индек=Фалсе)

Преузмите постове са Инстаграм налога

Опет, да бисте преузели постове са било ког налога, мораћете да унесете корисничко име и лозинку. Ово је тако да се бот може пријавити на Инстаграм користећи ваш налог. Можете да преузмете све податке о постова користећи гет_постс() методом. И можете поновити и преузети све појединачне постове користећи довнлоад_пост() методом.

# Увоз библиотека
увоз инсталоадер
увоз панде као пд

# Направите инстанцу класе Инсталоадер
бот = инсталоадер. Инсталоадер()
бот.логин (корисник="Твоје корисничко име",пассвд="Ваша лозинка")

# Учитавање профила са Инстаграм ручке
профил = инсталоадер. Профиле.фром_усернаме (бот.цонтект, 'Иоур_таргет_аццоунт_инста_хандле')

# Преузимање свих постова у објекту
постови = профиле.гет_постс()

# Понављање и преузимање свих појединачних постова
за индекс, објавити у енумерате (постови, 1):
бот.довнлоад_пост (пост, таргет=ф"{профиле.усернаме}_{индек}")

Сцрапе тхе Веб користећи Питхон

Скрапинг података или веб стругање је један од најчешћих начина за извлачење корисних информација са веба. Можете користити податке које издвојите за маркетинг, креирање садржаја или доношење одлука.

Питхон је преферирани језик за сцрапинг података. Библиотеке као што су БеаутифулСоуп, Сцрапи и Пандас поједностављују екстракцију података, анализу и визуелизацију.