Дядя Анкл Боб Мартин уже давно записывает местами хилэриоус, местами вообщенотхилэриоус видео про всякие премудрости относительно программирования и продаёт на cleancoders.com доступ к ним за сравнительно немного мировых нефтяных запасов:
- 14$ за просмотр видео (стриминг)
- 20$ за возможность скачать видео)
Анадысь я сбегал на один его открытый стрим про историю и будущее языков программирования и получил за это такое письмо
Thanks for attending Uncle Bob’s webinar, The Future of Programming Languages! Use the following code to redeem a free streaming episode of your choice from cleancoders.com…
Я выбрал видео самым близким мне названием «Test Design»
Clean Code: Advanced TDD, Episode 21
56 minutes • 1.00GB • Aug 2013
https://cleancoders.com/episode/clean-code-episode-21
Редим-код как раз на 14$, поэтому я положил в корзину «стрим» и купил видео на просмотр бесплатно, на условиях продавца, легально и законно.
Но я хочу это видео скачать бесплатно без регистрации и смс. Что делать?
Найти источник видео
Ввиду того, что меня никто не просил всё это делать, и вообще это всё мамкино кулхацкерство для обучения неофитов, все уникальные символосочетания в ссылках и на скриншотах заменены/замазаны.
И вообще все ссылки резко сокращены, бо всё равно это условности.
Firefox: F12 > Сеть > Медиа (это фильтр, собственно). Тыкнуть по какому-нибудь источнику в списке полученных ответов и выбрать для него режим просмотра Headers (Заголовки).
Chrome: F12 > Сеть > XHR (или фильтруем по All, разница несущественная). Тыкнуть по какому-нибудь источнику и выбрать для него режим просмотра Headers (Заголовки).
В общем, что хром, что по лбу — видим повторяющиеся URL типа https://videos-cloudflare.jwpsrv.com/content/conversions/abcdef123456/videos/NVGldаRq-2327О335.mp4-67.ts — отсюда далее представляем их в виде
https://videos/NVGldаRq-2327О335.mp4-1.ts https://videos/NVGldаRq-2327О335.mp4-2.ts https://videos/NVGldаRq-2327О335.mp4-3.ts …
Следовательно, видео приходит в браузер кусками/частями в виде ts-файлов, которые принадлежат какому-то большому файлу с названием «NVGIdаRq-2327О335.mp4» и пронумерованы логично и последовательно.
Прокрутил я это видео дяди АнклБоба в конец и посмотрел в логе номер последней прилетевшей части — «848.ts» — всего-то файлов скачать. Оукей, «Челленджер» акксепдет.
Хотя, мы уже знаем имя файла (NVGldaRq-23270335.mp4). Так поскорее же
wget https://videos/NVGldаRq-2327О335.mp4
Однако в ответ приходит
403 Forbidden 2020-09-27 23:59:22 ОШИБКА 403: Forbidden.
Нда? Ну, тогда надо
Упорядочить добычу
Чтобы получить ВСЕ ссылки на ВСЕ эти файлы, их надо инкрементально размножить. Для этого можно выучить, наконец, Python, или можно зайти в Excel. Ладно, у меня
LibreOffice Calc
И в первую колонку положим общий шаблон
https://videos/NVGldаRq-2327О335.mp4- https://videos/NVGldаRq-2327О335.mp4- https://videos/NVGldаRq-2327О335.mp4-
А во вторую — инкремент
1.ts 2.ts 3.ts
Достаточно трёх строк. Ухватили край третьей ячейки курсором и потянули вниз, пока не мелькнёт строка «848». Автоподстава безупречна.
Выделить обе колонки, Ctrl+C.
Kate
Ctrl+V. Получили вот это:
https://videos/NVGldаRq-2327О335.mp4- 1.ts https://videos/NVGldаRq-2327О335.mp4- 2.ts https://videos/NVGldаRq-2327О335.mp4- 3.ts …
Kate.Замена #1 (Ctrl+R)
Убираем символы табуляции после «.mp4»
[.mp4-\t] [.mp4-] Режим: Управляющие последовательности «Заменить все».
Результат:
https://videos/NVGldаRq-2327О335.mp4-1.ts https://videos/NVGldаRq-2327О335.mp4-2.ts https://videos/NVGldаRq-2327О335.mp4-3.ts …
Kate.Замена #2
Убираем перенос строк
[.ts\n] [.ts ] Режим: Управляющие последовательности «Заменить все».
Результат: одна длинная строка, уходящая в правую даль.
https://videos/NVGldаRq-2327О335.mp4-1.ts https://videos/NVGldаRq-2327О335.mp4-2.ts https://videos/NVGldаRq-2327О335.mp4-3.ts
Перед этой строкой дописываем настройки wget (Расшифровка: эй, wget, а поскачивай мне файлы из строки поочерёдно, и если будет отказ соединения, повторяй подключение через каждые 60 секунд):
wget -c -t 60 https://videos/NVGldаRq-2327О335.mp4-1.ts https://videos/NVGldаRq-2327О335.mp4-2.ts https://videos/NVGldаRq-2327О335.mp4-3.ts…
Ctrl+A, Ctrl+C.
В консоль
Сделать новый каталог и зайти в него.
mkdir UncleBobVideo && cd UncleBobVideo
Вставить награбленное добро с wget в голове (Ctrl+V) и запустить (Enter).
Смотрим на мельтешение строк.
Если всё ок — уходим играть «Белоруссия ждёт переименования в Беларусь» на ксилофоне, бо это надолго.
Итог скачивания файлов в Dolphin выглядит норм. Но там сортировка приближённая к естественной (в настройках Sorting mode = Natural).
В действительности всё отсортировано так, как это всегда было в DOS…
И если запихнуть все эти файлы в один плейлист в видеоплеере, то воспроизводиться всё будет именно так, как должно по машинной логике:
1.ts 10.ts 100.ts 101.ts …
Что можно сделать:
- или выстроить файлы в плейлисте вручную,
- или — old school — переименовать файлы по следующему шаблону:
001.ts
002.ts
…
009.ts
010.ts
011.ts
и так далее.
Возможно, отредактировать плейлист будет проще. Это же обычный текстовый файл с расширением m3u, а его содержимое — хэх, копипаст из того самого Excel идеально подойдёт (мы же его не удалили?) с удалением символов табуляции.
Ну или в консоли
ls > playlist.m3u
Чтобы получить более внятный список файлов, можно использовать ls так:
ls --group-directories-first -p -1 > playlist.m3u
Затем открыть файл playlist.m3u в Kate и вперёд, переставлять блоки текста местами. Или же копипаст из экселя, чо мудрить-то…
Теперь можно открыть этот плейлист в видеоплеере и если он будет адекватным, то можно будет смотреть череду коротких видеофайликов как один большой (50 минут).
А если раз в сутки будут разрывы между файлами — можно собрать все разрозненные файлы в один большой видеофайл, мне для этого очень норм OpenShot.
Или можно поискать какое-то сложное колдунство в консоли, бо буквально всё то, что я сделал в Calc и Kate, можно сделать в консоли, бо это же работа со строками в plain/text файлах.
И даже сборку множества видеофайлов в один можно сделать в консоли…
Итоговое соображение: всё то, что попадает в сеть, может быть скачано и использовано. Смиряемся с этим.
Сохранить полноразмерное фото из инстаграма
А теперь бесплатный лайфхак для любителей бесплатных лайфхаков. Можно сохранить полноразмерное фото из инстаграм, если воспользоваться тем же методом просмотра загружаемого контента. Иногда там файлы размером в три-пять тысяч пикселей, поэтому лечение стоит свеч.
- Запустить в браузере «уголок веб-мастера» по [F12].
- Открыть страницу с фотографией (иначе ничего не загрузится же), например, это https://www.instagram.com/p/CFXlAIpgU1w/
Firefox: F12 > Сеть > Изображения
Отсортировать по колонке «Размер» так, чтобы самые объёмные файлы были первыми.
Тыкнуть по первому источнику и выбрать режим просмотра Ответ.
Если картинка неподходящая — тыкаем следующий источник. Долго тыкать не придётся.
Затем даблклик по подходящему источнику — откроется новая вкладка с искомой картинкой в полном размере первоисточника.
Chrome: F12 > Network > Img
Тыкнуть по какому-нибудь источнику и выбрать режим просмотра Preview.
Общая сортировка по размеру принятых файлов и последовательное тыканье по ним — ня.
Ставьте лайки на свои колокольчики и подписывайтесь на дядибобин канал.
Мне же остаётся последний лайфхак: сделать это всё в консоли, на bash и в Python. Задача достижима (руками), следовательно, можно всё сделать не выходя из консольки.