Есть ли способ получить YT url или ID видео из плейлиста с помощью pafy? - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь создать программу, которая берет список воспроизведения YT и воспроизводит все его содержимое.

Я установил все компоненты, необходимые для работы pafy с python3. Все, что я пробовал, работает как положено, кроме приведенной ниже части кода.

plurl = "https://www.youtube.com/playlist?list=PL634F2B56B8C346A2"
playlist = pafy.get_playlist(plurl)
url = playlist['items'][21]['pafy'].getbest().url
video = pafy.new(url)

Когда вызывается pafy.new(), выдает ошибку из-за слишком длинного URL:

Need 11 character video id or the URL of the video. Got https://r2---sn-bavc5aoxu-nv4l.googlevideo.com/videoplayback?ms=au%2Crdu&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&mv=m&mt=1554899146&requiressl=yes&ip=37.157.173.53&pl=19&id=o-AGQZkyoEvykUGae7O4v_Ycmuj4jJBYdgafcfLBQ5S4Dd&mn=sn-bavc5aoxu-nv4l%2Csn-nv47lnsr&mm=31%2C29&source=youtube&lmt=1387649403290510&ei=POGtXJzdIo_ugAeEiL_wAQ&c=WEB&key=yt6&mime=video%2Fmp4&gir=yes&itag=18&clen=5461830&fvip=2&expire=1554920860&ratebypass=yes&dur=206.100&initcwndbps=1573750&ipbits=0&signature=AAA8B36CD3B402F587F874956595ACB928806C4F.D36C0A79E7F1727DB872425E696DBFC550AA7DF6 

Есть ли способ получить нормальный URL или идентификатор видео?

1 Ответ

0 голосов
/ 10 апреля 2019

Видеоид также доступен в объекте url.Вы можете использовать

dir(<object>) 

, чтобы увидеть, какие свойства доступны.

id = playlist['items'][2]['pafy'].videoid
video = pafy.new('https://www.youtube.com/watch?v='+id)

используйте попробуйте и поймайте перед использованием pafy.new , так как некоторые из видео могут быть недоступны в регионе.

...