【问题标题】:List YouTube playlist URLs using pytube python使用 pytube python 列出 YouTube 播放列表 URL
【发布时间】:2021-02-14 12:42:39
【问题描述】:

我已经搜索了该主题,并且正在尝试找到一种方法来列出特定播放器的 URL 或链接。 这是我得到的,但对我不起作用

import re
from pytube import Playlist

playlist = Playlist("https://www.youtube.com/playlist?list=PL6gx4Cwl9DGCkg2uj3PxUWhMDuTw3VKjM")
playlist._video_regex = re.compile(r"\"url\":\"(/watch\?v=[\w-]*)")
print('Number of videos in playlist: %s' % len(playlist.video_urls))
for url in playlist.video_urls:
   print(url)

我得到的视频数量为 0。 知道如何使这段代码工作吗?

这是另一个应该从播放列表下载所有链接的代码

from pytube import Playlist
 
try:
    playlist = Playlist('https://www.youtube.com/playlist?list=PLcow8_btriE11hzMbT3-B1sBg4YIc-9g_') 
    playlist.download_all(download_path='./Videos')
except Exception as e:
    print(e)

但我得到了这个'Playlist' object has no attribute 'download_all'

【问题讨论】:

  • 您的代码对我来说运行良好。问题可能与输出有关。
  • 我尝试了上面的脚本,它按预期工作,我得到了输出:Number of videos in playlist: 23 循环中的 url 转储。
  • 那么什么可能导致代码对我不起作用?我正在使用 Jupyter 笔记本。可能是这个原因吗?
  • 不,笔记本与此无关。尝试将 pytube 升级到新版本
  • @YasserKhalil 您的代码中缺少“流”部分。我分享的链接有这个。我在下面看到您添加并回答了您复制此代码的位置。很高兴它有效。

标签: python youtube pytube


【解决方案1】:

这对我很有效

from pytube import Playlist

playlist = Playlist('https://www.youtube.com/watch?v=EWdNhA5prXQ&list=PLRhWUdOnZHklr5GcNBO7dDsTspk85M8eH')
print('Number Of Videos In playlist: %s' % len(playlist.video_urls))

for video in playlist.videos:
    video.streams.first().download()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2018-06-11
    • 2014-12-28
    相关资源
    最近更新 更多