Скрипт для скачивания 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

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

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

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

например:

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

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

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

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

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

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


ссылка на оригинал статьи https://habr.com/ru/post/656629/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *