mkdir spotdl
cd spotdl
virtualenv venv -p python3 && source venv/bin/activate
pip3 install spotdl
spotdl -f . -s https://open.spotify.com/playlist/3ILqun6rklSSxFfURiMWJG\?si\=VMVZ45dXRYSYU9FfTs9NhQ
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotify_tools.py", line 33, in wrapper
assert spotify
AssertionError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/bin/spotdl", line 10, in <module>
sys.exit(main())
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotdl.py", line 63, in main
match_args()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotdl.py", line 27, in match_args
track_dl = downloader.Downloader(raw_song=track)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/downloader.py", line 98, in __init__
self.content, self.meta_tags = youtube_tools.match_video_and_metadata(raw_song)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/youtube_tools.py", line 79, in match_video_and_metadata
meta_tags = spotify_tools.generate_metadata(track)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotify_tools.py", line 38, in wrapper
return func(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotify_tools.py", line 48, in generate_metadata
meta_tags = spotify.track(raw_song)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 222, in track
trid = self._get_id('track', track_id)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 856, in _get_id
self._warn('expected id of type %s but found type %s %s',
TypeError: _warn() takes 2 positional arguments but 5 were given
Is there any way to skip the songs on the front end instead of the back end of the program run so that it doesn't take as long to run a long playlist?
Nope, sorry. For every track being dowloaded, the tool needs to first fetch its corresponding metadata from Spotify and YouTube. Once it has this metadata, only then it can generate a filename for the current track being downloaded. If it now checks that a file with this filename already exists beforehand then the --overwrite option comes into play.
ERROR: Signature extraction failed: Traceback (most recent call last):
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1384, in _decrypt_signature
func = self._extract_signature_function(
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1262, in _extract_signature_function
raise ExtractorError('Cannot identify player %r' % player_url)
youtube_dl.utils.ExtractorError: Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1384, in _decrypt_signature
func = self._extract_signature_function(
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1262, in _extract_signature_function
raise ExtractorError('Cannot identify player %r' % player_url)
youtube_dl.utils.ExtractorError: Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\programme\python\lib\site-packages\youtube_dl\YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\common.py", line 530, in extract
ie_result = self._real_extract(url)
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 2047, in _real_extract
signature = self._decrypt_signature(
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1394, in _decrypt_signature
raise ExtractorError(
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1384, in _decrypt_signature
func = self._extract_signature_function(
File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1262, in _extract_signature_function
raise ExtractorError('Cannot identify player %r' % player_url)
youtube_dl.utils.ExtractorError: Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure
Traceback (most recent call last):
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\core.py", line 346, in download_tracks_from_file
metadata = search_metadata.on_youtube_and_spotify()
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata_search.py", line 89, in on_youtube_and_spotify
metadata = caller()
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata_search.py", line 186, in _on_youtube_and_spotify_for_type_spotify
youtube_metadata = self.providers["youtube"].from_url(youtube_video["url"])
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata\providers\youtube.py", line 230, in from_url
content = pytube.YouTube(url)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube__main.py", line 91, in init
self.prefetch()
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube\main__.py", line 162, in prefetch
self.watch_html = request.get(url=self.watch_url)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube\request.py", line 36, in get
return _execute_request(url).read().decode("utf-8")
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube\request.py", line 24, in _execute_request
return urlopen(request) # nosec
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 532, in open
response = meth(req, response)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 564, in error
result = self._call_chain(args)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 504, in _call_chain
result = func(args)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 756, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 532, in open
response = meth(req, response)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 570, in error
return self._call_chain(args)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 504, in _call_chain
result = func(args)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 429: Too Many Requests
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\d4red\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "c:\users\d4red\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\d4red\AppData\Local\Programs\Python\Python36\Scripts\spotdl.exe__main.py", line 9, in <module>
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\main__.py", line 48, in main
spotdl.match_arguments()
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\core.py", line 79, in match_arguments
self.arguments["list"],
File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\cor
HTTP Error 429: Too Many Requests
error lately. Check out #745. This is YouTube rate-limiting us and should fix itself after waiting for a while.