← на главную
11 заметок с тегом

Забрать своё из облаков

Забрать своё из облаков: обновление вКачатора

Допилил небольшое, но важное дополнение для скрипта обогащения дампов профиля ВКонтакте. Эксплуатация предыдущей версии выявила существенный недостаток: видео с YouTube, импортированные в ВК, в разных разделах сайта фигурируют с разными ID (и разными URL). Выходит странненькое — по этим разным ссылкам открывается один и тот же объект (страницца) ВК, с теми же комментариями, лайками, и прочими атрибутами соцсети, и конечно же встроенный в объект ролик YouTube там тоже один и тот же, но ссылки на этот объект разные. И например, добавленное на стену видео, и то же видео, посланное в диалоге, будут иметь разные адреса. Поэтому старая версия скачивала, и складывала в папку видео несколько раз, что расходовало лишнее место (а у меня в избранные как-то попала даже девятичасовая прямая трансляция выхода в открытый космос с МКС).

Идеально было бы научить скрипт сразу узнавать такие дубликаты по адресам, и не скачивать повторы вовсе, но как это сделать я придумать не смог. Зато можно скачать через yt-dlp оригинал с ютуба, и по его метаданным распознать дубль, сравнив с метаданными уже скачанных видео. Так и поступил — теперь скрипт сохраняет в простой json информацию по всем уже скачанным файлам, и при закачке дубля не сохраняет его на диск, заменяя ссылки в дампе на уже скачанный экземпляр. На моем дампе это значительно сократило объём выгрузки.

Обновлённая версия уже на гитхабе: https://github.com/alexbatishchev/kenk-vk-enricher

 22   4 мес   PowerShell   вКачатор   Забрать своё из облаков   КЭНК

Архивируем почту из Gmail в Thunderbird

Gmail впервые ввел концепцию ярлыков и тегов в апреле 2004 года, когда сервис и был запущен компанией Google. Ярлыки в Gmail позволяют пользователям категоризировать свои электронные письма в разные группы, что делает управление и организацию инбокса проще. Ярлыки можно присваивать отдельным письмам, а одно письмо может иметь несколько ярлыков, чтобы категоризировать его по нескольким критериям.

Подход Google дал значительную свободу в управлении почтой, но он принципиально противоречит классическому, когда у письма в почтовом ящике есть четкое место в иерархии папок. К сожалению, даже спустя почти два десятилетия удобного способа работы с Gmail из оффлайн клиентов не появилось — слишком плохо парадигма ярлыков ложится в общепринятый подход, на который рассчитаны универсальные клиенты. Для них одно (для Gmail) письмо с несколькими ярлыками — это несколько экземпляров письма, лежащих в разных папках, и это полнейшая шизофрения.

По совокупности нескольких факторов я выбрал для синхронизации и хранения локального архива почты Thunderbird. При действиях над письмами особый подход гугла показывает себя тут во всей красе.

Во первых, письма классически дублируются в разных папках, если в Gmail на них навешаны несколько ярлыков. Во-вторых удаление писем работает совершенно непредсказуемо: например, письмо может удалиться из одной папки и остаться в другой. Или полностью удалиться изо всех папок в Thunderbird включая корзину — но остаться болтаться в корзине веб-интерфейса Gmail (с ярлыками «Корзина» и остальными кроме первого, из папки которого вы его удаляли). А ещё, Thunderbird показывает папку All Mail — и значит по умолчанию пришедшие письма будут показаны два раза и во Входящих, и в ней. Но удалять письма из All Mail нельзя — они «воскресают» после повторной синхронизации, потому что по логике гугла в All Mail лежит всё и всегда, даже если оно без ярлыков.

Знатная бредятина и непонятное? Это ещё не всё. Описанное поведение — при умолчальных настройках Gmail и Thunderbird. А есть еще и другие варианты — поведение гугла при работе через IMAP описывается разделами в настройках «Когда я помечаю сообщение в IMAP как удаленное» и «Когда сообщение помечается как удаленное и стирается из последней видимой папки IMAP», а сам Thunderbird по умолчанию перекладывает письма в папку удалённые Gmail, но может их и стирать у себя (и передавать команду IMAP на сервер). Надо ли упоминать, что splitbrain с ярлыками тут тоже играет и внятного сценария получить не выйдет, письма продолжат дублироваться и воскресать? На самом деле, область исследований тут на небольшую диссертацию, возможно кто-то когда-то победит.

Хорошо, что мне от Thunderbird была нужна только архивация Gmail в оффлайн (и дальнейшая работа с архивом всей почты скопом) — щас расскажу как это победил.

Усмиряем ярлыкобесие

Итак, необходимо архивировать почту — то есть отбирать по какому-то критерию письма в ящике, синхронизированном с Gmail , и переносить их в отдельную локальную папку внутри базы Thunderbird. Для него это стандартная команда Archive, и с классическими почтовыми сервисами всё работает адекватно — письмо перекладывается в новую папку, из исходной папки пропадает, на сервере удаляется.

С Gmail команда Archive не работает: Thunderbird копирует письмо в заданную в настройках архивирования папку, однако из папки All Mail (Вся почта) оно не удаляется (точнее, пропадает и появляется вновь). Перетаскивание писем через drag-n-drop работает так же — они переносятся в локальную папку, а после синхронизации воскресают в All Mail. Поведение неинтуитивное, пользователи в интернетах ноют и получают рекомендации руками копировать письма, потом их удалять из All Mail, а потом еще и удалять из корзины внутри веб-интерфейса gmail. Но мы заставим работать роботов.

В Thunderbird есть механизм правил, где можно задать фильтр писем и действия, которые применяются над ними (можно применять правила на выделенные в интерфейсе письма или на папку целиком). Благодаря этому механизму запилен такой сценарий:

  • сделано правило для всех писем, подходящих под архивацию (я архивирую всё, что не отмечено звёздочкой в gmail, и это условие отбора)
  • первым действием в правиле копируются отобранные письма в локальную архивную папку
  • вторым действием в правиле отобранные письма удаляются

Командой в интерфейсе Thunderbird применяем правило на папку All Mail, а после его отработки нужно завершить шаманство, применив команду очистки Empty Trash на папку Thunderbird Корзина — именно так, потому что если зайти в Корзину и удалить письма, Gmail это благополучно игнорирует по своей безумной логике, и IMAP-некромант продолжит свой безумный танец. Почему очистку корзины и удаление писем из неё Thunderbird преобразует в разные для Gmail операции — вопрос к разработчикам Mozilla, это неинтуитивно но ок, просто запомним как мантру.

Кстати, еще один нюанс — переписки (chats), которые gmail хранит в себе, он не отдает в виде сущностей «почтовое сообщение» через IMAP (в отличие от заметок, например). Благо, их у меня в архиве совсем немного (и я не уверен что вообще сейчас этот сервис), но подметил что при синхронизации они недоступны. Выгружу один раз руками.

Такие дела. Слава роботам!

 153   7 мес   все эти ваши компьютеры   Забрать своё из облаков

Забрать своё из облаков: kenk-vk-enricher 1.4

Допилил скрипт обогащения дампа Вконтакте. Теперь скрипт качает видео в разделах Видеозаписи, Стена и Сообщения — закачка идет через yt-dlp, перед использованием желательно обновить его до свежей версии, и залогиниться в ВК в одном из бразуеров на машине, тогда yt-dlp сможет использовать куки и больше видео будет доступно для скачивания. Также скачиваются аттачменты типа «файл» на стене и в сообщениях (те, что доступны по прямым ссылкам).

Сейчас актуальной версией скрипта мой личный профиль выкачивается на почти 200 гб, сказываются видео файлы в переписке и на стене — часто репостились интересные чужие видосы, и всё вместе занимает прилично места. Ну да больше-не меньше.

Скрипт на гитхабе: https://github.com/alexbatishchev/kenk-vk-enricher

Слава роботам!

 73   8 мес   PowerShell   вКачатор   Забрать своё из облаков   КЭНК

Забрать своё из облаков: важные видео из YouTube — 2

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

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

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

К счастью, в шаблон имени файла я с самого начала добавил ID ролика, и по ним дубликаты можно легко находить. Добил скрипт закачки несколькими строками, находящими в архиве файлы с одинаковыми ID внутри имён и удаляющие самые старые файлы — и дело в шляпе

В-третьих, оказалось что место видосиками жрётся весьма стремительно — а я по старой привычке выбрал для хранения максимально возможное качество. Подумал над вопросом, и решил что в подавляющем большинстве случаев содержимое вполне воспринимается и в невысоком качестве, и в качестве разумного компромисса выбрал скачивать вариант 720p. В первую ночь видосики с новыми параметрами перекачались, дубликаты удалились, выигрыш по месту вышел очень приятный.

Машины работают, человек счастлив. Вернусь к вопросу через следующие полгода

 71   9 мес   все эти ваши компьютеры   Забрать своё из облаков   КЭНК

Забрать своё из облаков: kenk-vk-enricher

Причесал и опубликовал скрипт, докачивающий в дамп официальной выгрузки из ВКонтакте картинки в переписку (сообщения) и фотоальбомы. Фотки выкачиваются и складываются заодно внутрь дампа в папки с именами, соответствующими оригинальным альбомам, а если они были опубликованы с подписью (как например часто было при параллельной публикации в ИГ) — подпись сохраняется в отдельный текстовой файл рядом.

В дампе переписке все файлы даются прямыми ссылками. А вот в дампе стены картинки прописаны ссылками вида https://vk.com/photoXXXXXXXXX_XXXXXXXXX — но тут был придуман хитрый ход, немного исправляющий ситуацию. Так как среди фотоальбомов есть «Фотографии на моей стене», то если сдампить их и из кода страницы выдернуть и прямые ссылки на файлы, и ссылки photoXXXXXXXXX_XXXXXXXXX (которые там есть), то можно закешировать это соответствие и подставить потом известные картинки в код выгрузки стены. К сожалению, так можно обойти только картинки, и только картинки ваши — репосты от других пользователей или групп так и останутся со ссылками на данные в серверах ВК. Как до них добраться без URL оригинальных файлов непонятно — с парсерами картинок ВК в интернете такая же беда как и с видео. Хотя жаль, стену со своими публикациями хотелось бы содрать в максимально полном виде, включая и репосты.

За недолгое время с прошлой публикации yt-dlp успел разучиться качать видео из вк, и вновь научился этому в свежем апдейте — похоже что война апишников с реверс-инженерами идёт денно и нощно. С учетом этого, выкачку видео пока думаю не реализовывать.

Забавное наблюдение — в дампе стены есть уже удалённые вами сообщения (с пометкой «Запись удалена»). Так приятно что заботливые товарищи всё хранят даже после удаления (евпочя).

КЭНК! Слава роботам!

 58   9 мес   PowerShell   вКачатор   Забрать своё из облаков   КЭНК

Забрать своё из облаков: вконтакте

Как я писал в одной из первых заметок цикла, ВК не позволяет полноценно выгрузить из себя пользовательские данные. Запросив выгрузку на странице https://vk.com/data_protection, через некоторое время пользователь получает относительно небольшой zip архив, внутри которого расположен набор слинкованных html страниц без медиафайлов. Сами медиаматериалы (изображения и видео) в архив не попадают — указаны только либо ссылки на исходные объекты в ВК, либо фото (или превью видео), которые подгружаются с серверов ВК в интернете. Интересно, что при этом другого динамического или внешнего контента нет — css уже положены в папку, а из javascript внутри страниц только несколько обработчиков onclick без внешней загрузки.

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

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

Пока я придумал два варианта — сгрузить фотографии на диск в каталог внутри оригинальной выгрузки и поменять ссылки в тексте страниц (фотоальбомы, чаты, стена) так, чтобы всё открывалось локально. Второй возможный вариант — сгрузить фотографии из фотоальбомов в файловую систему отдельно, повторив папками структуру исходных фотоальбомов на сайте. Первый вариант в черновом виде уже реализовал быстро на powershell, но для публикации его нужно причесать.

Также, пока работает yt-dlp, можно попробовать выкачать им видео, и заменить ссылки в дампе на скачанные файлы (это будет посложнее, будет завязано на работоспособность yt-dlp, и точно не позволит скачать часть видео без авторизации yt-dlp в ВК)

Думаю как быть дальше.

 48   9 мес   все эти ваши компьютеры   Забрать своё из облаков

Забрать своё из облаков: важные видео из YouTube

Задача: иметь в оффлайн архиве копии важных видео из ютуба.

Понятно, что сохранять все подряд киношки смысла нет, однако встречаются видео, которые хочется иметь в любом случае. На самом деле, здесь класса видосов ровно два. Первый — прокастинаторшный: «ой какой видос обучающий/полезный/интересный, надо как-нибудь посмотреть». Такие видосы годами копятся в многочисленных туду-листах, и нет причин не сохранить их на случай, когда в чудесном постакопалиптическом мире будет нечего делать, кроме как доделывать всё отложенное и запаузенное. Второй класс — остолбенелошный: видео, которые уже просмотрены и ценны идеей, как свидетельство эпохи, или как уникальный творческий продукт. Кстати, артистам чаще других свойственно удалять свои творения по велению внутреннего цензора или при смене художественной парадигмы, и в этом плане архивация тем более важна.

Над решением задачи трудится комбайн-самокат в составе:

  • отдельного приватного плейлиста SaveMe в моём аккаунте на ютубе, куда мной добавляются для сохранения видосы. Конечно, наиболее прозрачным было бы использование плейлиста лайканых видосов, или, как вариант, встроенного плейлиста «Смотреть позже», но они принципиально не доступны наружу сервиса по политике ютюба, в отличие от плейлистов кастомных. Добавить видос в плейлист SaveMe можно из веб-интерфейса или из приложки на телефоне, это вполне удобно.
  • скрипта, запускаемого по расписанию на домашней машине, в котором стартует натравленный на плейлист SaveMe ультра-качатор yt-dlp (более продвинутый форк youtube-dl). Качатору выданы опциии именования файла по названию, каналу и дате публикации, вшивания субтитров, выбора подходящего качества, и перекладывания файла на шару на NAS.

Более красивым было бы крутить комбайн прямо внутри NAS, но первая временная версия успешно работает, будет этого не хватать — переделаю

упорядоченный беспорядок в папке закачек. Джейсоны с метадатой не нужны, но пусть будут.

Слава Роботам!

 37   2022   все эти ваши компьютеры   Забрать своё из облаков

Забрать своё из облаков: почта

Итак, почта. В соответствии с общей концепцией, я буду пользоваться личной почтой как и ранее, однако обеспечу себе максимально возможную локальную копию, а попутно удалю из облаков данные, которые там хранить вообще говоря не зачем (и не стоит)

Локальный почтовый архив и Крыс

Отличным решением здесь мог бы быть почтовый клиент, синхронизирующий базы с облаками по IMAP. Давным-давно я использовал The Bat, потом носил на флешке The Bat Portable. К сожалению, на текущий момент программа хоть и поддерживается, но перенести её на новый накопитель я не смог: за прошедшие десять лет url страницы на сайте производителя, на который программа перекидывает при процедуре регенерации ключа, изменился, а хакнуть id накопителя я не смог из-за смены файловой системы. К тому же, Крыс выпускается только под винду — а пёс его знает, будут ли в этом вашем пост-апокалиптическом будущем винды.

Thunderbird

Подобрано и протестировано другое отличное решение — Mozilla Thunderbird. Программа кросс-платформенная (базы из виндовой версии прекрасно подхватываются после копирования в Ubuntu, включая русский текст и вложения), бесплатная, под windows есть портабельный вариант. В Thunderbird были подключены все актуальные аккаунты веб-почты, данные синхронизированы, а после бОльшая часть почты перенесена в оффлайн архив (Local Folders в терминологии Thunderbird). В дальнейшем Thunderbird будет в постоянной синхронизации с облаками, а в рамках регулярной рутины полная копия программы с базами будет убираться в дальний архив.

Выводы по итогам переноса

Важные и полезные детали, которые вскрылись не сразу:

  • в настройках надо включить полную синхронизацию данных (а то Thunderbird будет скачивать только заголовки писем и ЕслиЧто вы останетесь без архива, на который рассчитывали).
  • переносить данные в локальный архив нужно через команду Архивирования. В настройках (аккаунт — Copies & Folders — Message Archives — Keep message Archives in — Other) можно включить отдельную архивную папку для каждого ящика, чтобы не смешивать данные
  • ярлыки gmail показываются в Thunderbird как папки, при этом если вы переносите в архив содержимое папки, письма остаются на сервере, но с них снимается соответствующий ярлык — а их у каждого письма как минимум два, AllMail и Inbox/Sent Mail, а то и больше. Важно понимать, откуда берётся куча дублей в итоге, но это решается либо снятием ярлыков заранее — либо использованием плагинов дедупликации для Thunderbird после переноса, либо например архивированием только папки AllMail и удалением писем из остальных

Почта из прошлого десятилетия

Попутно, пока архивировал и разбирал почту, славно поностальгировал по временам своего 20-30 летия: почитал старые переписки, удивился ценам на всякие железа и удовольствия, вспомнил людей и коллег, с которыми не виделся кучу лет. Письма от тех, кого давно нет рядом, и на этом свете вообще — удивительный экспириенс и телепорт.

Еще занятно видеть письма от сайтов и организаций, которых давно уже нет — от магазинов, форумов и прочей онлайн-части жизни в 2010-х. На некоторых сайтах теперь спокойно работают другие конторы (например, дилер и ритейлер Пирит), некоторые заброшены или поменяли контент, превратившись из городских diy-форумов в порталы и визитки. Кстати, надо как-нибудь рассказать про хаб для Direct Connect PtokaX и бота для него HUBBABOT (HUB’s Big Ass Bot), которым я когда-то пытался to Make the World a Better Place в плоскости пиринговых сетей и сетевого общения.

Помню что на этом шоу в Тоннах была дикая давка, я никогда не видел клуб настолько набитым. Сейчас такие концерты стоят 3-5 тысяч
Письмо от сестры — она активно осваивала эти ваши интернеты

В целом на текущий момент так

 33   2022   все эти ваши компьютеры   Забрать своё из облаков

Забрать своё из облаков: лошадиное рагу

Почти всё время, что я живу в прекрасном мире компьютеров, он становился открытей, мощней, лучше, наполнялся возможностями и удивительными чудесами. Однако в последние годы свободы и права собственности в этих ваших интернетах стали резко уменьшаться — теперь государства и корпорации решают, что нам можно говорить, и что нам принадлежит. До февраля 2022 это вызывало у меня некоторое недовольство, и я даже что-то неспешно делал в сторону файловой и соцсетевой независимости. Но чудное новое время внесло в ситуацию настоящие чёрно-лебединые коррективы: оказывается можно отменить целые страны, заблокировать данные, разорвать контракты без компенсации, просто руководствуясь своими собственными представлениями о добре и зле, и делать это могут тоже все — от государств до инди-разработчиков софта.

Что делать в такой ситуации, и — говоря шире — в таком мире? Я долго выбирал стратегию, уж очень не хотелось менять привычное и уютное — и в итоге понял, что, заранее и добровольно отправляться в прекрасные луддит-дали и айти-палеолит я не хочу, но к необходимости сделать это в какой-то момент без потери _своего_ надо подготовиться. Поэтому общая концепция на текущий момент сформулировaна так: я буду пользоваться привычными облачными и публичными сервисами как и раньше, сдвигая фокус на:

  • готовность к тому что прекратить работать (в целом, или для меня лично) может что угодно из них
  • возможность иметь постоянную актуальную локальную копию данных из этих сервисов
  • возможность доступа к данным из локальной копии (толку от бэкапов, которые можно только выгрузить через облако на телефон). Локальная копия должна обеспечивать доступность этих данных для использования, в идеале — с возможностью загрузки в похожие на используемые, но альтернативные сервисы
  • там где вышеперечисленное невозможно — постепенно уходить от использования таких сервисов или таких моделей доступа к данным

Примеры

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

Направлений работы много, местами находятся или создаются интересные решения, так что буду фиксировать их тут — сам вспомню если что, а вдруг и кому-то ещё пригодится. А там и на хабр статью можно написать, чем Boomburum не шутит

Я прожил пару восхитительных десятилетий в мире облаков-белогривых лошадок, пришло время делать из них лошадиное рагу.

 29   2022   все эти ваши компьютеры   Забрать своё из облаков

Забрать своё из облаков: жж и гуглоплюс

На каникулах перенёс в блог архив своего ЖЖ и гуглоплюса

ЖЖ

ЖЖ я завёл (судя по записи «хэхэ, жэжэ») в 2009 году, и активно писал в него несколько лет. Журнал сохранился в неизменном виде до декабря 2020, когда я провёл перенос его в этот блог. В журнале никогда не было особых обсуждений, да и сам я почти никогда ничего не комментировал в других журналах, так как чужие жж читал и читаю через RSS. Но как дневник, прото-иг и заметки использовал его плотно. К слову о комментариях — уже закончив перенос я вспомнил про те немногие комменты, что в моем жж были — и решил ими не заморачиваться. Такой вот чукча читатель и он же чукча-писатель без потребности в обратной связи.

Google+

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

Само закрытие гуглоплюса пару лет назад я как-то прощёлкал — знал о нём, но не придал значения. Когда мысль выдернуть оттуда посты меня всё же посетила — архивы сервиса уже были потёрты. Справедливости ради отмечу, что в процессе переноса (о котором ниже) я всё же столкнулся пару раз с тем что мои картинки по длинным урлам на серверах гугла ещё доступны, то есть удалили — но не всё.

В общем, в плане переноса мне повезло, что после перехода в гуглоплюс я настроил экспорт заметок из него в ЖЖ, поэтому тексты постов сохранились. А картинки, которые погибли вместе с G+, остались в бэкапах на домашнем хранилище (фотки со смартфонов я предусмотрительно синхронизировал на NAS уже в те года).

Таким образом, перед началом переноса у меня был выгруженный из жж архив, заполненный оригинальными записями вперемешку с полуистлевшими репостами из G+, а также архив оригинальных фотографий, павершелл и стойкое нежелание делать много ручной работы — в реальности, совсем без неё не обошлось, и в итоге я фактически открыл и в той или иной мере отредактировал каждый из постов, но основной объем работы по переносу, включая создание записей, правку форматирования, генерацию заголовков постов, выдерг тегов и местоположений, создание URL постов для эгеи, и кучу ещё всего сделали за меня роботы.

Процедура переноса.

Сначала я взял выгрузку актуальной базы из Эгеи и разобрался в её устройстве. Посмотрел как работает с базой Евгений Степанищев. В несколько итераций написал на павершелле парсер, который выдёргивает из поста жж данные — заголовок, тело, дату и теги (настроениями я не пользовался обычно), складывает и переименовывает картинки. Для импортированных из G+ постов сделал парсер отметок геолокации из тела поста. Ну и по мелочи множество всяких замен ссылок на формат эгеи, убирания форматирования и тому подобное. На выходе парсера были команды SQL, которые я копипастил большими кусками (набором постов за месяц сразу) в phpMyAdmin прямо на хостинге, и файлы картинок, которые я вгрузил пачкой по ftp.

В целом работа заняла почти все праздники. Я правил скрипт под менявшиеся несколько раз форматы постов, вгонял их в блог, открывал и редактировал где это было необходимо. Заодно я местами добавил фоток к постам или заменил фотки из жж на оригиналы из архива в бОльших разрешениях, местами добавил комментарии «из 2020», или поменял ссылки наружу на работающие. В целом данные переехали как есть примерно на 70-80%

Изменения в технологиях и головах

По ходу работы подметил много интересного:

  • с одной стороны правильно говорят, что информацию из интернета удалить невозможно — разыскивая хоть какие-то дополнительные следы своей страницы в гуглоплюсе я находил репосты, сайты-индексаторы и каталоги, хоть и не нашел в итоге ничего удобоваримого (а в archive.org гуглоплюс не сохранился). С другой стороны, примерно половина ссылок из постов жж на внешние ресурсы, ролики с ютуба и тому подобное не открылись. Какие-то сайты и СМИ просто перестали существовать, какие-то поменяли структуру ресурса (например, мне удалось по не изменившемуся тексту найти новость на сайте мчс от 2012 года, на которую ссылался мой пост). В целом, здесь делаю вывод, что действительно важные вещи стоит либо цитировать в тексте поста полностью, либо выгружать и прикладывать к постам например в pdf (как я и сделал несколько раз в итоге). Что делать с ютубом и прочими большими медиа-штуками пока непонятно.
  • технологии развиваются стремительно. В жж в начале 2010-х я часто встраивал в заметки плееры музыки и видео со сторонних сайтов — все эти фреймы и жабаскрипты уже не работают вообще, сервисы переделаны или уничтожены. Собственно, встройку ютуба удалось победить только выпарсив из кода начала десятилетия id роликов и сформировав актуальный линк вручную.
  • при этом какие-то вещи остаются на удивление незыблемыми. Живы сайты, куда я 10 лет назад выгружал треки покатушек, живы вручную забитые маршруты на Яндекс картах и на гугле, живы картинки на хостингах, куда не заглядывал 7-8 лет, живы примерно половина роликов ютуба (и некоторые набрали за это время миллионы просмотров)
  • я 10 лет назад был значительно резче, злей, радикальней, нетерпимей в мыслях и высказываниях. Удивительно насколько было мне тогда важно, что «в интернете кто-то неправ», или что какая-то технология крива или не работает. Мудрость это или равнодушие сейчас — не знаю. Какие-то тогдашние свои позиции я больше не разделяю, за какие-то высказывания сейчас стыдно, но я решил перенести все посты как есть.
  • интересна повторяемость сюжетов и каких-то идей в мыслях, которые забывались и изобретались заново — встретил несколько таких, уже не помня эти их первые (?) инкарнации

Эта работа — часть большого проекта по забираче всего своего у корпораций и сбору персонального цифрового архива. Надеюсь, хватит сил продолжить её дальше, в планах ещё много всего, не переключайтесь!

Теги для импортированных постов:
посты из гуглоплюса
посты из жж

 97   2021   все эти ваши компьютеры   Забрать своё из облаков
Ранее Ctrl + ↓