【问题标题】:Error with the pytube module while attempting to do yt = YouTube(url)尝试执行 yt = YouTube(url) 时 pytube 模块出错
【发布时间】:2019-06-18 22:03:14
【问题描述】:

我有一个名为 downloadSong 的函数,用于在给定 url 时从 youtube 下载歌曲,但它绘制错误

我已尝试搜索文档并阅读我,但我没有看到任何提及此错误

def downloadSong(url):
    yt = YouTube(str(url))
    video = yt.streams.first()
    downloadedVideo = video.download('/MusicCache')
    return downloadedVideo,yt.title

预期的结果是它下载歌曲,但它绘制的错误如下所示:

  File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\bot.py", line 859, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\core.py", line 725, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\ext\commands\core.py", line 88, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: KeyError: 's'```

【问题讨论】:

    标签: python pytube


    【解决方案1】:

    您对 pytube 的使用很好,但是有一个错误,如果您没有为要保存 youtube 视频的文件指定名称,它会崩溃,因为 pytube 无法创建默认名称。我遇到了类似的问题。

    试试这个:

    from pytube import Youtube
    
    def downloadSong(url):
      yt = YouTube(str(url))
      video = yt.streams.first()
      downloadedVideo = video.download(output_path='/MusicCache', filename='MySong')
      return downloadedVideo, yt.title
    

    如果这不起作用,请尝试使用您要保存歌曲的文件夹的绝对路径,以获得download() 函数中output_path 参数的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      相关资源
      最近更新 更多