Я работаю над проектом Python, который загружает видео с YouTube, когда пользователь вводит название видео. Я никогда не работал с классом, и это мой первый раз, и я действительно узнал из Python книги о классе, функциях и всем остальном, но когда я пытаюсь использовать его в реальном проекте, я очень растерялся. Вот мой код:
import pytube
import urllib.request
import urllib.parse
import re
class YouTubeDownloader:
def __init__(self):
self.user_music = self.userInput()
# Ask user what video they want to download
def userInput(self):
print("Please type such as: Chopin Nocturne No 9 op 5")
subject = input("What video do you want to download in YouTube?")
return subject
# Search the youtube video with what user type
def searchYoutube(self, subject):
query_string = urllib.parse.urlencode({"search_query": subject})
html_content = urllib.request.urlopen("http://www.youtube.com/results?" + query_string)
search_results = re.findall(r'href=\"\/watch\?v=(.{11})', html_content.read().decode())
finalURL = "http://www.youtube.com/watch?v=" + search_results[0]
return finalURL
# Download the first video
def downloadVideo(self, finalURL):
youtube = pytube.YouTube(finalURL)
video = youtube.streams.first()
video.download('C:/Users/Muffin/Downloads')
if __name__ == '__main__':
user = YouTubeDownloader()
Так вот:
- Нужно ли мне
self.user_music
, и если да, то зачем мне это нужно? Я ничего не передаю __init__
, кроме self , это необходимо?
- Я хочу использовать переменную
subject
из функции def userInput
в def searchYoutube
, передается ли переменная автоматически различным функциям в классе?