From 6798c41d654b752c84eea77d9b5c1be17ac577f3 Mon Sep 17 00:00:00 2001 From: Lev Date: Tue, 3 Jan 2023 17:07:16 +0700 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20params=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20http=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index 439f719..426f9b2 100644 --- a/main.py +++ b/main.py @@ -175,24 +175,40 @@ def download_bytes(session: Session, url: str) -> bytes: def get_full_track_info(session: Session, track_id: str) -> FullTrackInfo: - resp = session.get(f'https://music.yandex.ru/handlers/track.jsx?track={track_id}&lang=ru') + params = { + 'track': track_id, + 'lang': 'ru' + } + resp = session.get(f'https://music.yandex.ru/handlers/track.jsx', params=params) return FullTrackInfo.from_json(resp.json()) def get_full_album_info(session: Session, album_id: str) -> FullAlbumInfo: - resp = session.get(f'https://music.yandex.ru/handlers/album.jsx?album={album_id}&lang=ru') + params = { + 'album': album_id, + 'lang': 'ru' + } + resp = session.get(f'https://music.yandex.ru/handlers/album.jsx', params=params) return FullAlbumInfo.from_json(resp.json()) def get_artist_info(session: Session, artist_id: str) -> ArtistInfo: - resp = session.get('https://music.yandex.ru/handlers/artist.jsx' - f'?artist={artist_id}&what=albums&lang=ru') + params = { + 'artist': artist_id, + 'what': 'albums', + 'lang': 'ru' + } + resp = session.get('https://music.yandex.ru/handlers/artist.jsx', params=params) return ArtistInfo.from_json(resp.json()) def get_playlist(session: Session, playlist: PlaylistId) -> list[BasicTrackInfo]: - resp = session.get('https://music.yandex.ru/handlers/playlist.jsx' - f'?owner={playlist.owner}&kinds={playlist.kind}&lang=ru') + params = { + 'owner': playlist.owner, + 'kinds': playlist.kind, + 'lang': 'ru' + } + resp = session.get('https://music.yandex.ru/handlers/playlist.jsx', params=params) raw_tracks = resp.json()['playlist']['tracks'] tracks = map(BasicTrackInfo.from_json, raw_tracks) tracks = [t for t in tracks if t is not None]