问题描述
我正在制作一个应用程序,我可以将链接放在一个输入框中,然后将输出目录放在另一个输入框中。我正在使用 tkinter 来塑造应用程序,我正在使用 pytube
下载视频。当我尝试通过按下视频来下载视频时,我正在做以下事情:
- 从输入框中获取字符串
- 然后使用
vid = YouTube(link)
获取视频,如果这不起作用,则print("Connection Error or Video doesn't exist")
- 然后使用
vid_res = vid.streams.get_highest_resolution()
获取下载的最大分辨率
- 最后我做了
vid.streams.filter(res=vid_res).first().download(dir)
下载视频,如果这不起作用,请执行以下操作:
except IndexError as e:
print(e)
AttributeError: 'nonetype' 对象没有属性 'download'
整个错误信息说:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\python39\lib\tkinter\__init__.py",line 1885,in __call__
return self.func(*args)
File "c:\Users\User\Desktop\Coding\Python\YTDownloader\YTDownloader.py",line 40,in <lambda>
activeforeground="#ffffff",text="Dowload Video",font=('Courier',20),command=lambda: Download.dowload_vid(temp_link,temp_dir))
File "c:\Users\User\Desktop\Coding\Python\YTDownloader\Download.py",line 15,in dowload_vid
vid.streams.filter(res=vid_res).first().download(dir)
AttributeError: 'nonetype' object has no attribute 'download'
代码如下:
from pytube import YouTube
def dowload_vid(l,d):
link = l.get()
dir = d.get()
try:
vid = YouTube(link)
except:
print("Connection Error or Video doesn't exist")
vid_res = vid.streams.get_highest_resolution()
try:
vid.streams.filter(res=vid_res).first().download(dir)
except IndexError as e:
print(e)
那我做错了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)