Udemy : Python 스포티파이 재생목록
설명
팝 음악 기간별 톱 100 차트를 통해서 음악 100개 가지고 오기
스포티파이 uri로 트랙들을 저장하여, 스포티파이의 플레이 리스트에 음악 넣기
from bs4 import BeautifulSoup
import requests
import os
import dotenv
dotenv.load_dotenv()
date = "20100217"
# input("Which year do you want to travel to? Type the date in this format YYYYMMDD: \n")
response = requests.get(
f"https://www.officialcharts.com/charts/singles-chart/20140216/7501/"
)
response.raise_for_status()
website = response.text
soup = BeautifulSoup(website, "html.parser")
musics = soup.select(selector=".title a")
artists = soup.select(selector=".artist a")
music_list = [music.getText() for music in musics]
artist_list = [artist.getText() for artist in artists]
import spotipy
from spotipy.oauth2 import SpotifyOAuth
from pprint import pprint
sp = spotipy.Spotify(
auth_manager=SpotifyOAuth(
client_id=os.getenv("id"),
client_secret=os.getenv("secret"),
redirect_uri="http://example.com",
scope="playlist-modify-private",
cache_path="token.txt",
)
)
# 음악 이름 검색을 통해서 스포티파이의 URI 가져오
track_uri = []
for music in musics:
result = sp.search(q=f"track: {music} year: {date[0:5]}", type="track")
try:
track = result["tracks"]["items"][0]["uri"]
track_uri.append(track)
except:
pass
# 현재 유저 id 가지고 오기
user_id = sp.current_user()["id"]
# 스포티파이의 플레이 리스트 생성
playlist = sp.user_playlist_create(user_id, name=f"{date} top 100", public=False)
# 플래이 리스트에 음악 넣기
# 플래이 리스트는 uri 형태로되어 저장되어있는 리스트를 넣을 수 있다
sp.user_playlist_add_tracks(user_id, playlist["id"], track_uri)
'Skill Stacks > Python' 카테고리의 다른 글
Udemy : Python Flask / 터미널 명령어 / `__name__` `__main__` (0) | 2023.02.27 |
---|---|
Udemy : Python Selenium (0) | 2023.02.19 |
Udemy : Python Web Scraping (parsing) (0) | 2023.02.14 |
Udemy : Python, 인터넷 (0) | 2023.02.13 |
Udemy : Python API POST / PUT / DELETE request (0) | 2023.02.07 |