Ich habe versucht, ein paar Zeilen Code, der eine YouTube-Video-URL URL und wandelt es in mp3/mp4 + 720p, und lädt dann es zu meinem DropBox-Musikordner.Übergeben einer URL durch das Eingabe-Widget (TKinter // Python 3+)
Wenn ich versuche, eine URL über ein TKinter-Widget (Eingabezeile) zu übergeben, treffe ich einen Fehler darüber, wie das Eintragsobjekt kein Attribut 'type' hat, oder dass die URL ungültig ist. Hat es etwas damit zu tun, dem youtube-Link keine Anführungszeichen oder etwas hinzuzufügen?
Wenn jemand irgendeine Einsicht hat, würde ich es sehr schätzen. Ich nehme an, ich vermisse etwas sehr Offensichtliches, aber ich kann nicht herausfinden, was genau.
#!/usr/bin/env python
import sys
import os
import tkinter
from pytube import *
from tkinter import *
top=tkinter.Tk()
yt_variable = StringVar()
def helloCallBack():
#Select youtube link you want to upload and print contents
yt = YouTube(yt_entry)
print(yt.get_videos())
print(yt.filename)
#Set parameters for youtube video
video = yt.get('mp4', '720p')
print(yt.videos)
print("success")
#Select download location for youtube video
video.download('C:/Users/coope/Dropbox/BrokenBow/Music/')
print("Downloaded " + str(yt.filename) + " to " + str(video.download) + " successfully!")
return
yt_label=tkinter.Label(top,text='Paste Link + Press Go')
yt_label.pack()
yt_button=tkinter.Button(top,text='Go',command= helloCallBack)
yt_button.pack()
yt_entry=tkinter.Entry(top, textvariable=yt_variable)
yt_entry.get()
yt_entry.pack()
top.mainloop()
Veröffentlichen Sie den gesamten Traceback. – TigerhawkT3
Beiseite: Verwenden Sie ['str.format'] (https://docs.python.org/3.4/library/stdtypes.html#str.format), um Strings zu verketten anstatt' + 'zu verwenden. –
Datei "C: \ Python34 \ lib \ site-packages \ pytube \ api.py", Zeile 158, in from_url video_data = self.get_video_data() Datei "C: \ Python34 \ lib \ site-packages \ pytube \ api.py ", Zeile 254, in get_video_data Antwort = urlopen (self.url) Datei" C: \ Python34 \ lib \ urllib \ request.py ", Zeile 161, in urlopen zurück opener.open (URL, Daten , timeout) Datei "C: \ Python34 \ lib \ urllib \ request.py", Zeile 456, in geöffnet protocol = req.type AttributError: 'Entry' Objekt hat kein Attribut 'type' – Cooper