Скрипт для скачивания coub'ов

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Утром зашёл на coub.com и увидел баннер с печальной новостью :

Проект Сoub закрывается 1 апреля 2022 года. Успейте скачать свои видео.

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

Скрипт из файла urls.txt по ссылке скачивает исходник страницы, ищет ссылки и скачивает отдельно музыку и отдельно видео (в максимальном качестве), а потом объединяет их (зацикливает видео, пока звучит аудиодорожка).

Создаём файл download_coubs.bat и копируем в него код:

 off cls SetLocal EnableExtensions EnableDelayedExpansion

rem берем ссылки из файла urls.txt For /F "Delims=" %%i In (urls.txt) Do ( Set url=%%i echo !url!

:curl rem скачиваем страницу куба curl.exe -# -k "!url!" > "coub_source" 2>nul if NOT %errorlevel% == 0 GOTO curl

rem берем код с ссылками sed.exe --text -n "/abuses/p" "coub_source" >"coub_abuses" 2>nul

rem находим ссылку на mp3 sed.exe --text --text -e "s/.*high....url...(.high.mp3)./\1/" "coub_abuses">"coub_mp3" 2>nul

rem находим ссылку на mp4 sed.exe --text --text -e "s/.*higher....url...(.huge.mp4)./\1/" "coub_abuses">"coub_mp4" 2>nul

rem находим ссылку на url sed.exe --text --text -e "s/.Simple...permalink...(.)","title.visibility_type./\1/" "coub_abuses">"coub_name" 2>nul

rem строчки из файлов вставляем в переменные For /F "usebackq tokens=* delims=" %%i In ("coub_mp3")  Do Set mp3url=%%i For /F "usebackq tokens=* delims=" %%i In ("coub_mp4")  Do Set mp4url=%%i For /F "usebackq tokens=* delims=" %%i In ("coub_name") Do Set titleurl=%%i

echo Downloading "!mp3url!" !titleurl!.mp3 curl.exe -# -k "!mp3url!" > "!titleurl!.mp3" 2>nul

echo Downloading "!mp4url!" !titleurl!.mp4 curl.exe -# -k "!mp4url!" > "!titleurl!.mp4" 2>nul

echo Merging video+audio ffmpeg -stream_loop -1 -i !titleurl!.mp4 -i !titleurl!.mp3 -shortest -map 0:v:0 -map 1:a:0 -y !titleurl!_merged.mp4

rem удаляем временные файлы

 del /F /A "coub_source" 2>nul del /F /A "coub_abuses" 2>nul

 del /F /A "coub_mp3" 2>nul

 del /F /A "coub_mp4" 2>nul

 del /F /A "coub_name" 2>nul )

pause exit

Для работы нужны три файла:

  • файл curl.exe скачать тут

  • файл sed.exe из UnxUpdates.zip скачать тут

  • файл ffmpeg.exe из ffmpeg-release-essentials.7z скачать тут

Всё скачиваем, копируем их из архивов и кладём в тот же каталог со скриптом.

Создаем в каталоге со скриптом файл urls.txt со списком адресов (каждая ссылка на отдельной строке)

например:

https://coub.com/view/316jkd

https://coub.com/view/316fme

Запускаем скрипт. Ждём.

Скрипт из файла urls.txt по ссылке скачивает исходник страницы, ищет ссылки и скачивает отдельно музыку и отдельно видео (в максимальном качестве), а потом объединяет их (зацикливает видео, пока звучит аудиодорожка).

Пардон за код, если не нравится, я не виноват.

Линуксоидам переделать код на bash думаю никаких трудов не составит...

Источник: https://habr.com/ru/post/656629/


Интересные статьи

Интересные статьи

Появившиеся в 2006 году сервисы Google по работе с текстовыми документами (Google Docs) и таблицами (Google Sheets), дополненные 6 лет спустя возможностями работы с вирту...
Начну с того, что я совсем недавно начала погружаться в IT в целом и Ruby в частности, и это задание мне выдали в качестве тестового для получения места на стажировке. З...
Пролог Добрый день, уважаемые читатели. Эта статья посвящена проблеме, с которой сталкиваются разработчики более-менее серьезных веб-сайтов, а именно – проблеме автоматического обнов...
Принято считать, что персонализация в интернете это магия, которая создается сотнями серверов на основе БигДата и сложного семантического анализа контента.
Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в вер...