1

最近我创建了一个 python 脚本来使用 pafy 和 python-vlc 播放 youtube 视频。下面的代码是脚本:

# importing vlc module
import vlc

# importing pafy module
import pafy

# url of the video
url = "https://www.youtube.com/watchv=il_t1WVLNxk&list=PLqM7alHXFySGqCvcwfqqMrteqWukz9ZoE"

# creating pafy object of the video
video = pafy.new(url)

# getting stream at index 0
best = video.streams[0]

# creating vlc media player object
media = vlc.MediaPlayer(best.url)

# start playing video
media.play()

运行它后,我收到此错误:

Traceback (most recent call last):
File "C:\Users\harsh\Desktop\don't.py", line 11, in <module>
video = pafy.new(url)
File "C:\Users\harsh\AppData\Local\Programs\Python\Python310\lib\site- 
packages\pafy\pafy.py", line 124, in new
return Pafy(url, basic, gdata, size, callback, ydl_opts=ydl_opts)
File "C:\Users\harsh\AppData\Local\Programs\Python\Python310\lib\site- 
packages\pafy\backend_youtube_dl.py", line 31, in __init__
super(YtdlPafy, self).__init__(*args, **kwargs)
File "C:\Users\harsh\AppData\Local\Programs\Python\Python310\lib\site- 
packages\pafy\backend_shared.py", line 97, in __init__
self._fetch_basic()
File "C:\Users\harsh\AppData\Local\Programs\Python\Python310\lib\site- 
packages\pafy\backend_youtube_dl.py", line 54, in _fetch_basic
self._dislikes = self._ydl_info['dislike_count']
KeyError: 'dislike_count'

请帮我解决这个错误。如果您有任何问题,请询问。

4

2 回答 2

2

如果您想提取有关 youtube 视频的信息,例如检索元数据,例如观看次数、持续时间、评级、作者、缩略图、关键字或以请求的分辨率下载视频或音频,请使用它非常有用的工具。但是播放视频不起作用(至少到现在为止)。如果您想在代码中播放 Yt 视频,请使用它:

 import webbrowser

 url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
 webbrowser.open(url)
于 2021-11-25T09:55:48.207 回答
1

youtube 上的不喜欢按钮已设为私有,因此需要对 backend_youtube_dl.py 进行一些修改才能运行 pafy。

  • 导航到 C:\Users\harsh\AppData\Local\Programs\Python\Python310\lib\site-packages\pafy
  • 打开 backend_youtube_dl.py 文件
  • 评论或删除此代码:self._dislikes = self._ydl_info['dislike_count']

除了不喜欢的功能,其他一切都很好。它对我有用,希望每个人都一样。

于 2021-12-02T16:37:54.727 回答