מדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון
-
@hartkhartk מדוע לא ליצור שורות קוד שיקבלו input מהמשתמש במקומות הנצרכים ולקמפל במקום לערוך כל פעם את הקובץ? (כוונתי לשאול האם זה חייב להשאר בקובץ py או שיכול לרוץ גם כexe)
@hartkhartk כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
קרדיט . צ'אט GPT
בדקת שזה עובד?
-
@hartkhartk מה הקשר יוטיוב לכל הנושא?
-
@hartkhartk יפה מאוד
האם נראה לך שיש אפשרות לעשות את ההורדה דרך GOOGLE SCRIPT כך שישלח לגוגל דרייב בדומה למה שעשה @מתלמד-צעיר בסקריפט המעולה שלו?
-
@יאנג-בוי כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@hartkhartk מה הקשר יוטיוב לכל הנושא?
מה שמוזר שבכל הקוד הוא לא משתמש בספריה yt-dlp שהיא לכאורה ה'קשר' ליוטיוב... (לפחות אני לא מצאתי בקוד...)
-
@2580 כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@hartkhartk מדוע לא ליצור שורות קוד שיקבלו input מהמשתמש במקומות הנצרכים ולקמפל במקום לערוך כל פעם את הקובץ? (כוונתי לשאול האם זה חייב להשאר בקובץ py או שיכול לרוץ גם כexe)
@hartkhartk כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
קרדיט . צ'אט GPT
בדקת שזה עובד?
כן בהתחלה. משום מה אחרי הפירסום כאן זה הפסיק לעבוד אני מנסה לבדוק מה הבעייה
-
@יאנג-בוי כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@hartkhartk מה הקשר יוטיוב לכל הנושא?
כי להוריד ישירות מספוטיפיי זה לא חוקי אז הוא לוקח שם של שיר מספוטיפיי ומחפש אותו ביוטיוב
-
@hartkhartk אבל
@2580 כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@יאנג-בוי כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@hartkhartk מה הקשר יוטיוב לכל הנושא?
מה שמוזר שבכל הקוד הוא לא משתמש בספריה yt-dlp שהיא לכאורה ה'קשר' ליוטיוב... (לפחות אני לא מצאתי בקוד...)
אולי לכן זה לא עובד?
-
@יוסף-אלחנן כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@יאנג-בוי
זהו, שאתה צריך לתייג את GPT לשאלה הזו...
זה לא היה אוקוס פוקוס כמו שחושבים זה לקח לי כמה שעות של ישיבה מול GPT
-
אההה אז לכאורה זה לא כ"כ נקרא של GPT (המון מפתחים משתמשים בGPT לכתיבת ועריכת חלקים מהקוד...)
-
@hartkhartk כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
import yt_dlp
זה עמוק בתוכו אבל קיים
-
@צדיק-תמים @hartkhartk מצאתי אכן קיים... (בד"כ מייבאים את הספריות בהתחלה... ולא עברתי על כל הקוד מילה במילה לכן לא מצאתי...)
-
@2580 כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@hartkhartk אבל
@2580 כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@יאנג-בוי כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
@hartkhartk מה הקשר יוטיוב לכל הנושא?
מה שמוזר שבכל הקוד הוא לא משתמש בספריה yt-dlp שהיא לכאורה ה'קשר' ליוטיוב... (לפחות אני לא מצאתי בקוד...)
אולי לכן זה לא עובד?
חברים! זה חזר לעבוד! אני כבר עורך את המדריך ומחדש את הקוד
-
@hartkhartk חברים אני כבר לא יכול לערוך את הפוסט אבל זה הקוד המעודכן שעובד
import spotipy from spotipy.oauth2 import SpotifyOAuth import json # הגדרות ספוטיפיי SPOTIPY_CLIENT_ID = 'הכנס מזהה לקוח' SPOTIPY_CLIENT_SECRET = 'הכנס סוד לקוח' SPOTIPY_REDIRECT_URI = 'http://localhost:8888/callback' SCOPE = 'playlist-read-private' sp_oauth = SpotifyOAuth(SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, SPOTIPY_REDIRECT_URI, scope=SCOPE) def get_playlist_tracks(playlist_uri): sp = spotipy.Spotify(auth_manager=sp_oauth) playlist_tracks = sp.playlist_tracks(playlist_uri) tracks = [] for item in playlist_tracks['items']: track = item['track'] track_info = f"{track['name']} - {track['artists'][0]['name']}" tracks.append(track_info) return tracks if __name__ == "__main__": playlist_uri = 'הכנס קישור לספוטיפיי' tracks = get_playlist_tracks(playlist_uri) with open('tracks.txt', 'w', encoding='utf-8') as f: for track in tracks: f.write(f"{track}\n") import yt_dlp import os def download_tracks(tracks_file, download_path): # יצירת תיקיית ההורדות אם לא קיימת if not os.path.exists(download_path): os.makedirs(download_path) with open(tracks_file, 'r', encoding='utf-8') as file: tracks = file.readlines() for track in tracks: track = track.strip() search_query = f"{track}" ydl_opts = { 'format': 'bestaudio/best', 'outtmpl': os.path.join(download_path, '%(title)s.%(ext)s'), 'default_search': 'ytsearch', } with yt_dlp.YoutubeDL(ydl_opts) as ydl: ydl.download([search_query]) if __name__ == "__main__": download_path = 'הכנס נתיב להורדת הקבצים' # שנה לנתיב הרצוי שלך download_tracks('tracks.txt', download_path)
-
עיצבן אותו המבנה של הקוד, אז שיניתי אותו קצת, לא בדקתי אם זה עובד
import spotipy from spotipy.oauth2 import SpotifyOAuth import yt_dlp import os # הגדרות download_path = 'הכניסו נתיב למקום הורדת הקבצים' # שנה לנתיב הרצוי שלך playlist_uri = input("הכנס קישור לשיר או לפלייליסט\n") SPOTIPY_CLIENT_ID = 'הכנס מזהה לקוח' SPOTIPY_CLIENT_SECRET = 'הכנס סוד הלקוח' SPOTIPY_REDIRECT_URI = 'http://localhost:8888/callback' SCOPE = 'playlist-read-private' sp_oauth = SpotifyOAuth(SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET, SPOTIPY_REDIRECT_URI, scope=SCOPE) def get_playlist_tracks(playlist_uri): sp = spotipy.Spotify(auth_manager=sp_oauth) playlist_tracks = sp.playlist_tracks(playlist_uri) tracks = [] for item in playlist_tracks['items']: track = item['track'] track_info = f"{track['name']} - {track['artists'][0]['name']}" tracks.append(track_info) return tracks def download_tracks(tracks, download_path): for track in tracks: track = track.strip() search_query = f"{track}" ydl_opts = { 'format': 'bestaudio/best', 'outtmpl': os.path.join(download_path, '%(title)s.%(ext)s'), 'default_search': 'ytsearch', } with yt_dlp.YoutubeDL(ydl_opts) as ydl: ydl.download([search_query]) if __name__ == "__main__": tracks = get_playlist_tracks(playlist_uri) os.makedirs(download_path, exist_ok=True) download_tracks(tracks, download_path)
-
וזה ליוטיוב ללא צורך בפיתון.
@echo off setlocal :: Check if yt-dlp.exe exists in the current directory if not exist yt-dlp.exe ( echo yt-dlp.exe not found. echo Downloading yt-dlp... :: Download yt-dlp.exe powershell -Command "Invoke-WebRequest -Uri 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe' -OutFile 'yt-dlp.exe'" :: Check if download was successful if not exist yt-dlp.exe ( echo Failed to download yt-dlp.exe. Exiting. exit /b 1 ) :: Move yt-dlp.exe to user's Downloads folder move /Y yt-dlp.exe "%USERPROFILE%\Downloads\yt-dlp.exe" :: Show popup info box mshta.exe "javascript:alert('yt-dlp.exe has been downloaded successfully! Credit @AngryAdminShmuel');window.close();" ) :: Prompt for YouTube playlist URL set /p playlistURL=Enter the YouTube playlist URL: :: Define the output directory and file name pattern set "output=Downloads\%(playlist_title)s\%(title)s.%(ext)s" :: Run yt-dlp to download the playlist yt-dlp --yes-playlist --output "%output%" "%playlistURL%" :: Check the success of the download if %ERRORLEVEL% equ 0 ( :: Flash green if successful echo Download successful! echo. echo [42m[97mSuccess[0m ) else ( :: Display error message if download fails echo Download failed. ) endlocal pause