Instagram е една от най-популярните социални медии с милиарди потребители. Всеки от студенти до известни личности има акаунти в Instagram. Публичните данни от Instagram могат да бъдат от огромна стойност за фирми, търговци и физически лица. Всеки може да използва тези данни, за да извършва анализ на данни, да насочва маркетинг и да генерира прозрения.

Можете да използвате Python, за да създадете автоматизиран инструмент, който извлича данни от Instagram.

Инсталиране на необходимите библиотеки

Инсталатор е библиотека на Python, която можете да използвате за извличане на публично достъпни данни от Instagram. Можете да получите достъп до данни като изображения, видеоклипове, потребителско име, не. на публикации, брой последователи, брой следвания, биография и т.н. с помощта на Instaloader. Имайте предвид, че Instaloader не е свързан, упълномощен, поддържан или одобрен от Instagram по никакъв начин.

За да инсталирате instaloader чрез pip, изпълнете следната команда:

пип Инсталирай инсталатор

Трябва да имаш pip, инсталиран на вашата система за инсталиране на външни библиотеки на Python.

instagram viewer

След това трябва да инсталирате библиотеката на Pandas Python. Pandas е библиотека на Python, която се използва главно за извършване на манипулиране на данни и анализ на данни. Изпълнете следната команда, за да го инсталирате:

пип Инсталирай панди

Сега сте готови да започнете да настройвате кода и да извличате данните от Instagram.

Настройване на вашия код

За да настроите инструмента за извличане на данни в Instagram, трябва да импортирате библиотеката на Python на Instaloader и да създадете екземпляр на класа Instaloader. След това трябва да предоставите дръжката на Instagram на профила, от който искате да извлечете данните.

Python кодът на Instagram Extractor е наличен в a GitHub хранилище и е безплатен за използване под лиценза на MIT.

импортиране инсталатор

# Създаване на екземпляр на класа Instaloader
бот = инсталатор. Instaloader()

# Зареждане на профила от манипулатор на Instagram
профил = инсталатор. Profile.from_username (bot.context, 'кристиано')
печат(профил)

Това е добра първа стъпка за проверка на основната работа. Трябва да видите някои значими данни без грешки:

Извличане на данни от профил

Можете да извлечете ценни публично достъпни данни като потребителско име, не. публикации, брой последователи, брой следвания, биография, потребителско име и външен URL с помощта на Instaloader само с няколко реда код. Трябва само да предоставите дръжката на профила в Instagram.

импортиране инсталатор
импортиране панди като пд

# Създаване на екземпляр на класа Instaloader
бот = инсталатор. Instaloader()

# Зареждане на профил от манипулатор на Instagram
профил = инсталатор. Profile.from_username (bot.context, 'леомеси')
печат ("потребителско име: ", профил.потребителско име)
печат ("Потребителско име: ", profile.userid)
печат ("Брой публикации: ", profile.mediacount)
печат ("Брой последователи: ", профил.последователи)
печат ("Следващ брой: ", profile.followees)
печат ("биография: ", профил.биография)
печат ("Външен URL адрес: ", profile.external_url)

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

Извличане на имейли от био

Можете да извлечете имейл адреси от биографията на Insta на всеки профил, като използвате регулярни изрази. Трябва да импортирате Python повторно библиотека и предайте регулярния израз за валидиране на имейла като параметър на re.findall() метод:

импортиране инсталатор
импортиране повторно
# Създаване на екземпляр на клас Instaloader
бот = инсталатор. Instaloader()
профил = инсталатор. Profile.from_username (bot.context, "богатство")
печат ("потребителско име: ", профил.потребителско име)
печат ("биография: ", профил.биография)
имейли = re.findall (r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b", профил.биография)
print("Извлечени имейли от биографията :)
печат(имейли)

Скриптът ще отпечата всичко, което разпознае като имейл адрес в биографията:

Извличане на данни от най-добрите резултати от търсенето

Когато търсите нещо в Instagram, получавате няколко резултата, включително потребителски имена и хаштагове. Можете да извлечете най-добрите резултати от търсенето, като използвате get_profiles() и get_hashtags() методи. Трябва само да предоставите заявката за търсене в инсталатор. TopSearchResults() метод. Освен това можете да повторите и отпечатате/съхраните отделните резултати.

импортиране инсталатор

# Създаване на екземпляр на класа Instaloader
бот = инсталатор. Instaloader()

# Въведете заявката за търсене тук
search_results = програма за инсталиране. TopSearchResults (bot.context, 'музика')

# Итериране на извлечените потребителски имена
запотребителско имевРезултати от търсенето.get_profiles():
печат(потребителско име)

# Итериране на извлечените хаштагове
захаштагвРезултати от търсенето.get_hashtags():
печат(хаштаг)

Резултатът ще включва всички съответстващи потребителски имена и хаштагове:

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

Можете да извлечете последователите на даден акаунт и тези, които той сам следва, като използвате Instaloader. Ще трябва да предоставите потребителско име и парола за Instagram, за да извлечете тези данни.

Никога не използвайте личните си акаунти за извличане на данни от Instagram, тъй като акаунтът ви може да бъде временно или постоянно забранен.

След като създадете екземпляр на класа Instaloader, трябва да предоставите вашето потребителско име и парола. Това е така, че ботът да може да влезе в Instagram с помощта на вашия акаунт и да извлече данните за последователите и последващите.

След това трябва да предоставите манипулатора на Instagram на целевия профил. The get_followers() и get_followees() методи извличат последователите и последователите. Можете да получите потребителските имена на последователите и последователите, като използвате последовател.потребителско име и followee.username свойства съответно.

Ако искате да съхраните резултатите в CSV файл, първо трябва да конвертирате данните в Pandas DataFrame обект. Използвай пд. DataFrame() метод за преобразуване на обект от списък в DataFrame.

И накрая, можете да експортирате обекта DataFrame в CSV файл, като използвате to_csv() метод. Трябва да преминете на име на файл.csv като параметър към този метод за получаване на експортираните данни във файловия формат CSV.

Само собствениците на акаунта могат да виждат всички последователи и следвания. Няма да можете да извлечете всички данни за последователи и следвания, като използвате този или друг метод.

# Импортиране на библиотеки
импортиране инсталатор
импортиране панди като пд

# Създаване на екземпляр на класа Instaloader
бот = инсталатор. Instaloader()
bot.login (потребител="Вашето потребителско име", passwd="Твоята парола")

# Зареждане на профил от манипулатор на Instagram
профил = инсталатор. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Извличане на потребителските имена на всички последователи
последователи = [follower.username за последовател в profile.get_followers()]

# Преобразуване на данните в DataFrame
последователи_df = pd. DataFrame (последователи)

# Съхраняване на резултатите в CSV файл
followers_df.to_csv('последователи.csv', index=False)

# Извличане на потребителските имена на всички следващи
следвания = [followee.username за следващ в profile.get_followees()]

# Преобразуване на данните в DataFrame
follows_df = pd. DataFrame (следвания)

# Съхраняване на резултатите в CSV файл
follows_df.to_csv('follows.csv', index=False)

Изтеглете публикации от акаунт в Instagram

Отново, за да изтеглите публикации от всеки акаунт, ще трябва да предоставите потребителско име и парола. Това е така, че ботът може да влезе в Instagram, използвайки вашия акаунт. Можете да извлечете всички данни за публикациите, като използвате get_posts() метод. И можете да повторите и изтеглите всички отделни публикации, като използвате download_post() метод.

# Импортиране на библиотеки
импортиране инсталатор
импортиране панди като пд

# Създайте екземпляр на клас Instaloader
бот = инсталатор. Instaloader()
bot.login (потребител="Вашето потребителско име",passwd="Твоята парола")

# Зареждане на профил от манипулатор на Instagram
профил = инсталатор. Profile.from_username (bot.context, 'Your_target_account_insta_handle')

# Извличане на всички публикации в обект
публикации = profile.get_posts()

# Повторение и изтегляне на всички отделни публикации
за индекс, публикация в изброяване (публикации, 1):
bot.download_post (публикация, target=f"{profile.username}_{index}")

Изтрийте мрежата с помощта на Python

Извличането на данни или уеб извличането е един от най-често срещаните начини за извличане на полезна информация от мрежата. Можете да използвате данните, които извличате, за маркетинг, създаване на съдържание или вземане на решения.

Python е предпочитаният език за сканиране на данни. Библиотеки като BeautifulSoup, Scrapy и Pandas опростяват извличането, анализа и визуализацията на данни.