Предположим, вы собираетесь удалить свой аккаунт Instagram, но хотите быстро и без лишней суеты скачать из него фото и видео к себе на компьютере.
Или вы хотите сохранить все данные из чужого аккаунта Instagram. Просто на память на случай их удаления пользователям или чтобы глубоко их проанализировать с помощью программ для лингвистического анализа текста.
Вот краткая инструкция как скачать сразу все данные из профиля в Instagram.
Для достижения заявленной цели будем использовать написанный на Python инструмент с открытым исходным кодом Instaloader, который выложен на GitHub.
Установка
Здесь всё просто.
Сначала убеждаемся, что на компьютере есть последние версии Git и Python (установить и обновить их можно на официальных сайт).
Потом открываем командную строку и клонируем к себе на компьютер репозиторий с кодом:
git clone https://github.com/instaloader/instaloader
Потом запускаем скрипт установки:
$ pip3 install instaloader
Скачивание фото, видео и тексты профиля
Набираем команду instaloader + имя профиля в Instagram. Например:
instaloader f.m.dostoevsky
В результате выполнения команды на компьютере появится папка с именем профиля в Instagram, в которую будут скачаны ):
- все фотографии пользователя в формате jpg;
- все видео пользователя в формате mp4;
- подписи к постам в формате txt;
- метаданные постов в формате json (id, ссылки и т.д.).
Имена файлов будут соответствовать дате и времени публикации поста
Если добавить к приведенной выше команде --comments, например:
instaloader f.m.dostoevsky --comments
То в папке также сохранятся файлы с комментариями к каждому посту в формате json.
А приписка --geotags запустит сохранение данных о месте публикации фото. А --stories сохранение историй.
Как скачать данные закрытого профиля?
Чтобы это сделать, надо:
1. Быть зарегистрированным в Instagram;
2. Подписаться на закрытый профиль и дождаться, когда владелец одобрит вашу подписку (даст разрешение смотреть посты);
3. Запустить instaloader c параметром login:
instaloader --login=ivan
4. Ввести пароль от своего аккаунта.
Пару слов о расширенных настройках Instaloader
Протестировать все возможности Instaloader — задача ни на час и даже ни на два. Чего стоят только одни способы фильтрации постов:
--post-filter="not is_video" (скачать все посты, которые не содержат видео)
--post-filter="likes>1000 (скачать только те посты, у которых более тысячи лайков)
--post-filter="likes>10 (скачать только те посты, у которых более десяти комментов)
--post-filter="date_utc <= datetime(2020, 12, 31)" (скачать посты, опубликованные после 31 декабря 2020 года)
И это только четыре примера из сотен тысяч десятков доступных в Instaloader настроек!
Подробнее о всей широчайшей функциональности скрипта можно почитать в документации (instaloader.github.io/basic-usage.html).
Как узнать, что публиковал человек в Twitter в определенный день
Как найти скрытые ("unlisted") видео на YouTube
Как найти все email-адреса в определенном репозитории на GitHub