מדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון
-
@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
-
חחחח גוגל טרנסלייט מתרגם גם סלנג...
התלבטתי אם לכתוב מקודם "זה קובץ BAT יעני?" אבל ויתרתי...
עריכה:
פשוט הצחיק אותי שכתבת ייפ (או באנגלית YUP) ואנחנו דוברי העברית צריכים להבין (תכלס' הבנתי אבל...) ואז עוד יותר הצחיק אותי שהטרנסלייט מתרגם את זה ל'כן' (הצילום מסך היה אחרי התרגום...) -
אחי ברצינות חשבת שאני לא יודע להגיד כן בעברית?! הוספתי את האימוג'י בעצמי. בנוסף Google translate מבאס, אני עורך כל פוסט אחרי התרגום. כמו כן, אני משתמש באפליקציית mitmachim שאין לה Google translate. אני יכול להבין עברית אבל לא יכול לדבר שוטף
-
@hartkhartk כתב במדריך | מדריך להורדת שירים ופלייליסטים מספוטיפיי דרך יוטיוב באמצעות סקריפט פייתון:
זה לא היה אוקוס פוקוס כמו שחושבים זה לקח לי כמה שעות של ישיבה מול GPT
מתנצל...
חשבתי שהעתקת את זה בלי לחשוב או לנסות...
לצערינו, יש הרבה כאלו...