Instagram — одна из самых популярных социальных сетей с миллиардами пользователей. У всех, от студентов до знаменитостей, есть аккаунты в Instagram. Публичные данные из Instagram могут иметь огромную ценность для компаний, маркетологов и частных лиц. Любой может использовать эти данные для анализа данных, целевого маркетинга и получения информации.
Вы можете использовать Python для создания автоматизированного инструмента, который извлекает данные из Instagram.
Установка необходимых библиотек
Инсталоадер — это библиотека Python, которую вы можете использовать для извлечения общедоступных данных из Instagram. Вы можете получить доступ к данным, таким как изображения, видео, имя пользователя, нет. количество постов, количество подписчиков, количество подписчиков, биография и т. д. с помощью инсталоадера. Обратите внимание, что Instaloader никоим образом не связан, не авторизован, не поддерживается и не поддерживается Instagram.
Чтобы установить instaloader через pip, выполните следующую команду:
точка установить инсталоадер
Вы должны иметь pip установлен в вашей системе для установки внешних библиотек Python.
Далее вам нужно установить библиотеку Pandas Python. Pandas — это библиотека Python, которая в основном используется для обработки и анализа данных. Выполните следующую команду, чтобы установить его:
точка установить панды
Теперь вы готовы приступить к настройке кода и извлечению данных из Instagram.
Настройка вашего кода
Чтобы настроить инструмент получения данных из Instagram, вам необходимо импортировать библиотеку Instaloader Python и создать экземпляр класса Instaloader. После этого вам нужно предоставить дескриптор Instagram профиля, из которого вы хотите извлечь данные.
Код Instagram Extractor Python доступен в Репозиторий GitHub и вы можете использовать его бесплатно по лицензии MIT.
Импортировать инсталоадер
# Создание экземпляра класса Instaloader
бот = инсталоадер. Инсталоадер()
# Загрузка профиля из дескриптора Instagram
профиль = инсталоадер. Profile.from_username (bot.context, 'криштиану')
Распечатать(профиль)
Это хороший первый шаг, чтобы проверить основы работы. Вы должны увидеть некоторые значимые данные без ошибок:
Извлечение данных из профиля
Вы можете извлечь ценные общедоступные данные, такие как имя пользователя, нет. количество сообщений, количество подписчиков, количество подписчиков, биографию, идентификатор пользователя и внешний URL-адрес с помощью Instaloader с помощью всего нескольких строк кода. Вам нужно только предоставить дескриптор Instagram профиля.
Импортировать инсталоадер
Импортировать панды как пд# Создание экземпляра класса Instaloader
бот = инсталоадер. Инсталоадер()
# Загрузка профиля из дескриптора Instagram
профиль = инсталоадер. Profile.from_username (bot.context, 'леомесси')
Распечатать("Имя пользователя: ", профиль.имя_пользователя)
Распечатать("ID пользователя: ", профиль.userid)
Распечатать("Количество сообщений: ", profile.mediacount)
Распечатать("Количество подписчиков: ", профиль.подписчики)
Распечатать("Следующий счет: ", профиль.подписчики)
Распечатать("Биография: ", профиль.биография)
Распечатать("Внешний URL: ", profile.external_url)
Вы должны увидеть много информации о профиле из указанного вами дескриптора:
Извлечение электронных писем из биографии
Вы можете извлечь адреса электронной почты из биографии Insta любого профиля, используя обычные выражения. Вам нужно импортировать Python ре библиотеку и передать регулярное выражение для проверки электронной почты в качестве параметра в re.findall() метод:
Импортировать инсталоадер
Импортировать ре
# Создание экземпляра класса 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, вы получаете несколько результатов, включая имена пользователей и хэштеги. Вы можете извлечь лучшие результаты поиска, используя получить_профили() и получить_хэштеги() методы. Вам нужно только указать поисковый запрос в инсталоадер. Лучшие результаты поиска () метод. Кроме того, вы можете повторять и распечатывать/сохранять отдельные результаты.
Импортировать инсталоадер
# Создание экземпляра класса Instaloader
бот = инсталоадер. Инсталоадер()# Укажите здесь поисковый запрос
search_results = инсталоадер. TopSearchResults (bot.context, 'музыка')# Итерация по извлеченным именам пользователей
дляимя пользователяврезультаты поиска.get_profiles():
Распечатать(имя пользователя)
# Перебор извлеченных хэштегов
дляхэштегврезультаты поиска.get_hashtags():
Распечатать(хэштег)
Вывод будет включать любые совпадающие имена пользователей и хэштеги:
Извлечение подписчиков и подписчиков учетной записи
Вы можете извлечь подписчиков учетной записи и тех, на кого она подписана, используя Instaloader. Вам нужно будет указать имя пользователя и пароль Instagram, чтобы получить эти данные.
Никогда не используйте свои личные учетные записи для извлечения данных из Instagram, так как это может привести к временной или постоянной блокировке вашей учетной записи.
После создания экземпляра класса Instaloader вам необходимо указать свое имя пользователя и пароль. Это делается для того, чтобы бот мог войти в Instagram, используя вашу учетную запись, и получить данные о подписчиках и подписках.
Затем вам нужно предоставить дескриптор Instagram целевого профиля. получить_последователи() и get_followees() методы извлекают подписчиков и подписчиков. Вы можете получить имена пользователей подписчиков и подписчиков, используя последователь.имя пользователя и Followee.имя пользователя свойства соответственно.
Если вы хотите сохранить результаты в файле CSV, вам сначала нужно преобразовать данные в объект Pandas DataFrame. Использовать пд. Кадр данных() метод для преобразования объекта списка в DataFrame.
Наконец, вы можете экспортировать объект DataFrame в файл CSV, используя to_csv() метод. Вам необходимо пройти имя файла.csv в качестве параметра этого метода, чтобы получить экспортированные данные в формате файла CSV.
Только владельцы аккаунтов могут видеть всех подписчиков и подписчиков. Вы не сможете извлечь все данные о подписчиках и подписках, используя этот или любой другой метод.
# Импорт библиотек
Импортировать инсталоадер
Импортировать панды как пд# Создание экземпляра класса Instaloader
бот = инсталоадер. Инсталоадер()
bot.логин (пользователь="Ваш логин", пароль="Ваш пароль")# Загрузка профиля из дескриптора Instagram
профиль = инсталоадер. Profile.from_username (bot.context, 'Your_target_account_insta_handle')# Получение имен пользователей всех подписчиков
Followers = [follower.username для подписчика в profile.get_followers()]# Преобразование данных в DataFrame
Followers_df = pd. DataFrame (последователи)# Сохранение результатов в файле CSV
Followers_df.to_csv('последователи.csv', индекс=ложь)# Получение имен пользователей всех подписок
следующие = [followee.username для подписчика в profile.get_followees()]# Преобразование данных в DataFrame
следующие_df = pd. DataFrame (подписки)
# Сохранение результатов в файле CSV
следующие_df.to_csv('следующие.csv', индекс=ложь)
Скачать сообщения из учетной записи Instagram
Опять же, чтобы загружать сообщения из любой учетной записи, вам необходимо указать имя пользователя и пароль. Это делается для того, чтобы бот мог войти в Instagram, используя вашу учетную запись. Вы можете получить все данные сообщений, используя получить_сообщения() метод. И вы можете повторять и загружать все отдельные сообщения, используя download_post() метод.
# Импорт библиотек
Импортировать инсталоадер
Импортировать панды как пд# Создать экземпляр класса Instaloader
бот = инсталоадер. Инсталоадер()
bot.логин (пользователь="Ваш логин",пароль="Ваш пароль")# Загрузка профиля из дескриптора Instagram
профиль = инсталоадер. Profile.from_username (bot.context, 'Your_target_account_insta_handle')# Получение всех сообщений в объекте
сообщения = profile.get_posts()
# Итерация и загрузка всех отдельных сообщений
для индекса, пост в перечислении (сообщений, 1):
bot.download_post (сообщение, target=f"{профиль.имя_пользователя}_{индекс}")
Очистите Интернет с помощью Python
Очистка данных или очистка веб-страниц — один из наиболее распространенных способов извлечения полезной информации из Интернета. Вы можете использовать полученные данные для маркетинга, создания контента или принятия решений.
Python является предпочтительным языком для очистки данных. Такие библиотеки, как BeautifulSoup, Scrapy и Pandas, упрощают извлечение, анализ и визуализацию данных.