Day by Day, Site by Site

Open source, Some Code, Troubleshooting, Good Links

May 26, 2021 - 2 minute read - music bash python

Автоматизация скачивания музыки с сайта студии Лебедева

Музыкальный набор манит на сайте Лебедева - https://www.artlebedev.ru/dj. Очень не хотелось возиться с плейером на сайте, так он ужасен, почему-то, чуть менее, чем полностью. Когда я слушал самые старые треки, что бы до них добраться, нужно было полностью спуститься вниз страницы. С учетом того, что она сделана с использованием технологии AJAX, нужно тупо ждать, зажав клавишу Page Down. Даже когда я до них добирался, не все треки воспроизводились. Да еще это уведомление про куки, которое загораживает прогресс бар плейера, и с ним ничего не сделать. Я обескуражен, почему так все плохо сделано, на ведущем сайте в Рунете, посвященном разработке сайтов.

Если кто то меня услышит, то плейер нужно переработать, потому что он никуда не годится. Я негодую! Хотя, может быть, я ничего в этом и не понимаю.

В общем, хотелось скачать всю музыку разом, и не париться. Пришлось привлечь наших фронтендеров и провести расследование.

Результатом расследования явился скрипт для скачивания mp3.

Далее, возникла проблема с именами файлов. Скрипт запускался несколько раз, а wget имеет привычку дописывать у одинаковых файлов в конце (2), (3) и т.д. Убираем лишнее в консоли.

for f in *\(2\).mp3; do; i="${f%\(2\).mp3}"; i=$(echo $i | sed 's/ *$//g');mv "$f" "${i}.mp3";done

Подсказка 1: Если повторять мое расследование, то с оригинальными данными выдернутыми с сайта, при скачивании файлов, произойдет ошибка на файле с id 404. Это очень символично)) Я воспринял это как пасхалку. В моем скрипте данные уже поправлены.

Подсказка 2: На всякий случай напишу, что полное собрание сочинений, на момент поста, 112 Гб.