使用youtube-search-python库时遭遇TypeError: post() got an unexpected keyword argument 'proxies'错误求助
使用youtube-search-python库时遭遇TypeError: post() got an unexpected keyword argument 'proxies'错误求助
我最近在做一个小工具,想用youtube-search-python库根据Spotify歌单里的歌曲名数组获取对应的YouTube链接,但一直弹出这个错误:
post() got an unexpected keyword argument 'proxies'
我刚接触Python没多久,已经翻了不少资料,但要么看不懂,要么找不到对应的解决办法。
下面是触发错误的代码片段:
elif "open.spotify.com" == url_procesed.hostname: try: playlist = Playlist(client_id, client_secret) playlist_tracks = playlist.get_playlist_tracks(url) link_list = playlist.search_for_songs(playlist_tracks) print(link_list)
完整的错误栈信息是这样的:
Traceback (most recent call last): File "G:\Bot_v1.1.2\spoty_handler.py", line 69, in <module> playlist.search_for_songs(song_array) File "G:\Bot_v1.1.2\spoty_handler.py", line 48, in search_for_songs search = VideosSearch(song, limit=1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\TarjetaCiudadana\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\youtubesearchpython\search.py", line 148, in __init__ self.sync_create() File "C:\Users\TarjetaCiudadana\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\youtubesearchpython\core\search.py", line 29, in sync_create self._makeRequest() File "C:\Users\TarjetaCiudadana\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\youtubesearchpython\core\search.py", line 51, in _makeRequest request = self.syncPostRequest() ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\TarjetaCiudadana\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\youtubesearchpython\core\requests.py", line 20, in syncPostRequest return httpx.post( ^^^^^^^^^^^ TypeError: post() got an unexpected keyword argument 'proxies'
我猜测问题肯定出在playlist.search_for_songs方法里,因为这段代码执行后完全没有输出。下面是我的完整代码,麻烦大家帮我看看哪里出问题了:
import os import spotipy from spotipy.oauth2 import SpotifyClientCredentials from pytube import YouTube from youtubesearchpython import VideosSearch from dotenv import load_dotenv class Playlist: def __init__(self, client_id, client_secret): self.client_id = client_id self.client_secret = client_secret load_dotenv() def get_playlist_tracks(self, playlist_url): auth_manager = SpotifyClientCredentials(client_id=self.client_id, client_secret=self.client_secret) sp = spotipy.Spotify(auth_manager=auth_manager) results = sp.playlist_tracks(playlist_url) artists_songs_dict = [] for item in results['items']: track = item['track'] song_name = track['name'] #artist_names = [artist['name'] for artist in track['artists']] artists_songs_dict.append(song_name) return artists_songs_dict def search_for_songs(self, song_dict): link_list = [] for songs in song_dict: for song in songs: search = VideosSearch(song, limit=1) results = search.result() link = results['result'][0]['link'] link_list.append(link) return link_list TOKEN_1 = os.getenv("MY_TOKEN_1") TOKEN_2= os.getenv("MY_TOKEN_2") playlist= Playlist(client_id, client_secret) song_array= playlist.get_playlist_tracks("https://open.spotify.com/playlist/0drb98YI5Kk0ENtWXIS67y?si=bEHhpXlUThSyKkxNxkMCeg") playlist.search_for_songs(song_array)
备注:内容来源于stack exchange,提问作者JGEst02
相关产品推荐
相关产品推荐

