May 18, 2023

Автоматизируй это, или Слава ЯПам!

Довольно давно активно пользовался сервисом telegra.ph. С его помощью можно создавать записи по аналогии с телетайпом: с форматированием текста, с картинками и прочими медиа. Можешь регистрироваться (привязка к телеге), а можешь нет. Во втором случае никаких cookies на устройстве автора не остается и после завершения сеанса отредактировать запись нельзя. И сведений об авторе никаких, ну кроме тех, которые автор захочет о себе оставить в поле Name и тексте записи. Анонимность, короче. И да — вроде как записи не индексируются поисковиками. Не проверял, не знаю.

При этом url (ссылка) поста включает в себя текст, содержащийся в заголовке, а также дату создания (месяц-число) и цифровой индекс, обозначающий порядковый номер заметки, созданной в этот же день с точно таким же заголовком (например, другим пользователем).

Пример урла: https://telegra.ph/some-text-01-25-2.

Благодаря этой относительной анонимности (относительная потому, что какие-то цифровые следы в любом случае остаются) сервис часто используют для всякой запрещёнки. Как бы там ни было, но одно время использовал telegra.ph для своих целей: всякие объявления для коллег, жильцов дома; какие-то быстрые заметки, которые можно красиво оформить и ссылкой на которые можно поделиться и т.д.

За годы использования на сервисе накопилось немало моих заметок, часть из которых не была продублирована на моих устройствах. Только ссылки болтались в телеге, почте, цифровых блокнотах. И в какой-то момент часть ссылок отправилась в страну потерянных вещей. И я подумал: а как бы мне восстановить часть ссылок? Алгоритм создания урла я знаю, ключевые слова и/или числа, которые я использовал в заголовках, тоже. Подставляй ключевые слова/числа, делай урлы с разными датами и индексами, открывай ссылки и смотри — твоё или не твоё.

Но я пользовался сервисом на протяжении нескольких лет с определенной периодичностью. Это значит, что мне нужно перебрать все дни всех месяцев за несколько лет. Да еще и с разными ключевыми словами.

Таким образом для проверки одного месяца необходимо создать не менее 30 ссылок только для одного ключевого слова или числа. А еще и умножить на количество возможных индексов (от 2 до 10, как минимум, ибо не помню, чтобы в моих заметках индекс был больше 10). Стало быть, для обхода всех месяцев года необходимо написать и открыть не менее 3600 ссылок (30*10*12).

Та ну, подумал я тогда и махнул рукой.

А вот сейчас, освоив циклы пайтона и подобравшись к спискам и словарям, я снова вернулся к этой идее. Коренные инструкции скрипта (строки, генерирующие список урлов) набросал за минут 5. Теперь разобраться с библиотекой requests, потестировать временные лаги между запросами (с помощью модулей random и time), чтобы не напороться на защиту от D[D]os-атак и основа скрипта готова. Потом останется разобраться с обработкой полученных данных, то есть очистить для просмотра и поиска нужных данных...

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

Слава ЯПам, одним словом.

Похожие записи

Твой учебник устарел

Google Keep и Телеграм: где я храню заметки и информацию

Tab