← на главную

Алексей Батищев. Заметки обо всём, что происходит со мной и окружающим миром

Избранное в блоге: мои фото- и видеоработы, забрать своё из облаков, КЭНК

Триста грамм и другие выдуманные единицы измерения воспоминаний

В чудесные новые времена эта запрещённая соцсеть в России представляет из себя помесь кота Шрёдингера и Неуловимого Джо — оно вроде убито (но работает), его вроде нельзя юзать — но юзают все, оно вроде бы враг и преступник — но нафиг никому не сдалось его ловить.

В таких условиях задача выгрузки и резервного копирования своих данных оттуда обретает дополнительный вес. Мало было того, что сами хозяева сервиса всячески удерживают юзеров от попыток что-то из него вытащить, запирая нас с нашими воспоминаниями, друзьями и общением в довольно строгую (хоть и комфортную) цифровую тюрьму. Теперь к рискам разгневать модераторов и прочих диджитал вахтёров добавился риск потерять доступ к системе вообще (когда Кому Надо решит что это Надо и дёрнет рубильник качественней чем сейчас, либо хозяева грохнут аккаунты неугодным по национально-географическому или другому принципу).

Несколько лет я наблюдаю за единственным решением в этой области, которое хоть как-то работает: Instaloader. Это приложуха (либо, для продвинутых, скрипт на питоне) которая умеет скачивать посты, сторисы, комментарии, геометки, посты где вас упомянули — короче, дает возможность выгрузить в оригинальном качестве и с очень богатыми метаданными в машиночитаемом виде ваш профиль. Ещё умеет всякое про чужие общедоступные профили, ленты и хэштеги, но этим я не интересовался. В целом здорово, но есть очень много нюансов

  • максимальное качество фото-видео, геометки и прочая подробная мета (а также любые данные в принципе если у вас закрыт профиль) доступны только после аутентификации. Пароль (либо куки из браузера) придётся непойми кому светить.
  • следствие из первого пункта — цукерберговы прихвостни крайне ретиво следят за количеством и активностью залогиненных устройств (агентов) для аккаунта, нервничают и прерывают доступ по каждому чиху и так далее. Натурально, на время выкачивания на других устройствах с нативной приложкой лучше отключать интернет. Чуть что — алярма, сброс пароля и прочие мероприятия.
  • также, чтобы жизнь мёдом не казалась, цукерберговы прихвостни ещё и в целом обижаются на скачивание, видимо определяя такую активность статистически — ну не станет мол нормальный человек отматывать и отсматривать последовательно все фоточки в своем профиле за кучу лет. В итоге — те же баны, прерывания доступа, и чтобы выкачать профиль в 2-3 тысячи постов приходится заходить на задачу в несколько приёмов. Зато потом оно умеет качать только новые посты — так что если хоть один раз архив правдами и неправдами выгружен, обновлять его уже проще.
  • решение не лишено ошибок в реализации, которые усложняют жизнь, например есть опция с помощью которой можно попросить скачивать из профиля ещё и сторис — но нет варианта скачать только сторис. В итоге если вы один раз сдёрнули профиль без сторек, проще потратить время и перекачать всё с нуля. И пока через все эти тернии прорвёшься (а каждая попытка длинная и чревата плясками со сбросом пароля) — осатанеешь
  • изощренный ум цукерберговых прихвостней неустанно придумывает препоны и защиты, и пока робингуды допишут их очередной обход, решение может не работать месяцами

Я подобрал набор параметров, которые работают, он выглядит просто — но блин времени убил немало.

В целом так. На выходе можно поиметь структуру каталогов с файлами (с именованием всего как вам удобно, например по датам), где каждый пост или сторька это набор данных в медиа-форматах и json с метой про них. У сторек дополнительно к видео сохраняется джипег с превьюшкой. Удобно также что скрипт дает файлам правильные даты создания. В отдельную папку в дампе (при параметрах со скрина) оно сохранит чужие посты где вас тегнули, а в ещё один набор папок с именами как у хайлайтов — собственно ваши хайлайтсы сторис.

Готового решения что делать с этим дальше я не нашел (за исключением заброшенного скрипта на гитхабе с конвертацией дампа в маркдаун). Думаю, можно относительно просто запилить авто-версталку html, ну либо генератор постов для Эгеи. Пока довольствуюсь возможностью просто регулярно выгружать данные и иметь их у себя.

Из интересных наблюдений — во первых объем и качество метаданных со временем меняются, дампы двухгодичной давности содержали меньше разделов. Сами медиа со временем мигрируют (меняются URI в метаданных). Ну и геометки оказались чрезвычайно переменчивой сущностью, у старых постов они часто неактуальны, (скрипт не может их выкачать, система отдает 404) — так что если интересна наиболее полная информация, лучше именно дополнять старые дампы, а не перекачивать всё каждый раз полностью. Размеры самих картинок со временем также меняются (повторюсь, в полном качестве картинки сливаются только после аутентификации).

В следующий раз расскажу о новом способе качать фотки-видео из айклауда, там всё позитивней.