Я сделал свой собственный сценарий, используя python и библиотеку youtube-dl, чтобы легко загружать песни с онлайн-радио. Он работает путем копирования списка воспроизведения, сохранения его в файл .txt, а затем запуска сценария, который просматривает список воспроизведения и отбрасывает время для каждой строки, а затем выполняет поиск на YouTube по названию песни и загружает первую найденную. Поскольку многие песни повторяются, программа снова загружает песню и обрабатывает ее (конвертирует в mp3 и изолирует только звук) и перезаписывает старую. Меня интересует, как получить только название видео без загрузки и проверить, была ли эта песня уже загружена, чтобы не тратить время и ресурсы без необходимости. Я знаю, что у команды "" уже есть песни, и не уверен, можно ли их использовать по-другому. Ниже представлен скрипт .py и пример списка песен (список обычно состоит из 500 строк, поэтому много повторений).
<main.py>
import os
radio = "BBCRadio1"
lista = []
with open ("./list.txt" ,"r", encoding="utf8") as f:
lines = f.readlines()
for line in lines:
lista.append(line.split("\t")[1].strip())
lista = list(dict.fromkeys(lista))
for song in lista:
print("------------------------------------------Downloading " + str(lista.index(song) + 1) + ". song of " + str(len(lista)) + " songs------------------------------------------")
os.system("youtube-dl -o \"D:\Projects\YT-DL/songs/" + radio + "/%(title)s.%(ext)s\" --extract-audio --audio-format mp3 \"ytsearch:" + song + "\"")
<BBCRadio1.txt>
14:32 Harry Styles - Watermelon Sugar
14:27 Drake - Passionfruit
14:24 Phoebe Bridgers - I See You
14:20 Avicii - Lonely Together (feat. Rita Ora)
14:17 Jawsh 685 & Jason Derulo - Savage Love (Laxed - Siren Beat)
14:13 Clipz, Ms. Dynamite, Ms Banks & JayKae - Again
14:09 Katy Perry - Chained To The Rhythm (feat. Skip Marley)
14:06 Dave - Funky Friday (Glastonbury 2019)
14:02 Dave - Location (Glastonbury 2019) (feat. Burna Boy)
13:58 Topic - Breaking Me (feat. A7S)
13:54 Lily Allen - The Fear
13:49 The Weeknd - I Feel It Coming (feat. Daft Punk)
13:46 Sports Team - Going Soft
13:42 Megan Thee Stallion & Beyoncé - Savage (Remix)
13:38 Jonas Brothers - Sucker