В плейлисте Pytube не загружается ни одно видео

#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.