尝试下载播放列表时,spotdl包出现HTTP错误



我使用的是pip包spotdl(https://pypi.org/project/spotdl/)并遇到以下错误。尝试下载播放列表时出现此问题。

ERROR: HTTP Error 403: Forbidden
Traceback (most recent call last):
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesspotdldownloader.py", line 213, in _download_list
track_dl.download_single()
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesspotdldownloader.py", line 120, in download_single
return self._download_single(songname)
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesspotdldownloader.py", line 128, in _download_single
if youtube_tools.download_song(input_song, self.content):
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesspotdlyoutube_tools.py", line 191, in download_song
link.download(filepath=filepath)
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagespafybackend_youtube_dl.py", line 181, in download
downloader.download(filepath, infodict)
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesyoutube_dldownloadercommon.py", line 366, in download
return self.real_download(filename, info_dict)
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesyoutube_dldownloaderhttp.py", line 341, in real_download
establish_connection()
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagesyoutube_dldownloaderhttp.py", line 109, in establish_connection
ctx.data = self.ydl.urlopen(request)
File "c:usersanishappdatalocalprogramspythonpython38-32libsite-packagespafybackend_youtube_dl.py", line 191, in urlopen
return g.opener.open(url)
File "c:usersanishappdatalocalprogramspythonpython38-32liburllibrequest.py", line 531, in open
response = meth(req, response)
File "c:usersanishappdatalocalprogramspythonpython38-32liburllibrequest.py", line 640, in http_response
response = self.parent.error(
File "c:usersanishappdatalocalprogramspythonpython38-32liburllibrequest.py", line 569, in error
return self._call_chain(*args)
File "c:usersanishappdatalocalprogramspythonpython38-32liburllibrequest.py", line 502, in _call_chain
result = func(*args)
File "c:usersanishappdatalocalprogramspythonpython38-32liburllibrequest.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
WARNING: Failed to download song. Will retry after other songs

你能帮我修一下吗?我应该更改代码中提供的youtube和Spotify的API密钥吗?当我尝试一首歌时也会出现同样的错误。

尝试使用此命令youtube-dl --rm-cache-dir。这对我很有效。我还使用了我自己的Youtube API密钥,所以我不确定是更改还是缓存清除起了作用。

通过这个github repo,你会明白一切,尽管使用spotdl有时很糟糕,但它是一次性投资。一旦在你的机器中完成配置,你就可以选择任何播放列表或歌曲。请确保你先安装ffmpeg的ffmpeg安装指南。

最新更新