Я работал над музыкальным ботом Discord, и он почти завершен.У меня есть еще две вещи, которые нужно выяснить (у них та же идея).
Я использую youtube_dl для загрузки видео, и недавно я обнаружил, что есть способ поиска и получения топ поискарезультат YouTube и играть, что позволяет пользователю на моем канале раздора играть песню, введя несколько слов, которые они помнят.Проблема возникает, когда я пытаюсь получить заголовок видео на YouTube, которое будет воспроизводиться при поиске лучшего результата.
Ниже я включил некоторый код, который просто показывает, что я имею в виду, а также чтоВ настоящее время я работаю с (если есть лучший способ выполнить задачу, которую я пытаюсь выяснить, не стесняйтесь указывать мне путь).
import youtube_dl
ydl_opts = {
'quiet': True,
'skip_download': True,
'forcetitle': True,
'forceurl': True,
}
# Extracts information using the "ytsearch:string" method
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
infoSearched = ydl.extract_info("ytsearch:eraser f64")
# Print the available keys
print('\n keys available: \n')
for i in infoSearched:
print(i)
# Output the information that has potential to be what I am looking for
for i in infoSearched:
if i is 'webpage_url' or i is 'webpage_url_basename':
print('\n {} {}' .format(infoSearched[str(i)], i))
for i in range(2):
print("\n")
# Extracts information using the actual URL method
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
infoUrlGiven = ydl.extract_info("https://www.youtube.com/watch?v=pb2fwx4O_Ks")
# Outputs the correct information I am looking for
for i in infoUrlGiven:
if i is 'webpage_url' or i is 'title':
print('\n {} {}' .format(infoUrlGiven[str(i)], i))
Вывод предыдущего кода
Я пытаюсь получить заголовок видео и фактический используемый URL-адрес YouTube.Я могу легко получить эту информацию, когда дело доходит до того, что пользователь сам вводит фактический URL (как показано выше), однако я не уверен, как извлечь информацию, когда видео было просмотрено с использованием метода «ytsearch: string».
опция "'forcetitle': True" выводит заголовок, который я хочу, на консоль, так что я знаю, что он где-то там, мне просто нужно найти способ извлечь его.Что касается вывода webpage_URL, я не уверен, смогу ли я получить его таким образом или нет, так как все, что выводит webpage_url в случае поиска первого результата, возвращает поиск («ytsearch: eraser f64»).
Также я включил опцию "'forceurl': True", чтобы можно было сказать, что forceurl не выводит URL, который я ищу.Я специально ищу URL-адрес страницы YouTube, чтобы я мог автоматически добавить песню в автоплейлист (не уверен, собираюсь ли я сделать это в конце концов из-за возможности дублирования из-за разных результатов поиска).
Пожалуйста, предложите.