#python #youtube #youtube-api #pytube
#python #YouTube #youtube-api #pytube
Вопрос:
Я пытаюсь загрузить плейлист с помощью библиотеки pytube3 с помощью этого кода
import pytube
import os
# download playlist
playlist = pytube.Playlist(
"https://www.youtube.com/playlist?list=PLQVvvaa0QuDcjD5BAw2DxE6OF2tius3V3")
i = 1
print(len(playlist.video_urls))
for link in playlist:
#if i < 51:
# break
#i = i 1
# continue
yt = pytube.YouTube(link)
file = yt.streams.get_highest_resolution().download() #"D:YOUTUBEGabrysia"
# find last backslash, because it is followed by an relative path
# and insert number in the beginning
last_backslash = file.rfind("\")
res = list(file)
res.insert(last_backslash 1, str(i) " ")
res = ''.join(res)
# rename file
os.rename(file, str(res))
i = i 1
print('done')
Первая инструкция печати выводит 0, что означает, что мой плейлист пуст. Я пробовал с большим количеством плейлистов, и это просто не работает. Я помню, что некоторое время назад я загрузил много плейлистов, но теперь это не работает. Может быть, произошли какие-то изменения в серверной части YouTube? Но, как я знаю, есть новая версия библиотеки pytube (pytube4, pytubeX), и я установил эту версию, и она все еще не работает.
Ответ №1:
У меня недостаточно репутации, чтобы комментировать. Поэтому вместо этого добавляю в качестве ответа. Эта ошибка была исправлена в оригинальном репозитории pytube. Выполните установку pip непосредственно из репозитория, и это должно сработать.
Комментарии:
1. Я установил с помощью pip и с помощью conda, и я получаю эту ошибку: ImportError: не удается импортировать имя ‘quote’ из ‘pytube.compat’
2. Я думаю, это произойдет, если вы не используете python3. Кроме того, даже если у вас установлен python3, conda может запускать ваши скрипты в среде python2. Поэтому установите python3 и запускайте свои скрипты без использования conda.