1. billboard에서 정보 가져오기
https://www.billboard.com/charts/hot-100/2021-05-10/
The Hot 100
The week’s most popular songs, ranked by audio and video streaming activity on leading digital music services, radio airplay audience impressions based on monitored airplay and sales data, all comp…
www.billboard.com
from bs4 import BeautifulSoup
import requests
billboard = requests.get("https://www.billboard.com/charts/hot-100/2021-05-10/")
bill100= billboard.text
soup = BeautifulSoup(bill100,"html.parser")
songs = soup.select(selector="li h3")
songs_100=[x.get_text().strip() for x in songs]
print(songs_100[:100])
원하는 정보를 가져오는 방법은 bs4의 여러가지 메서드를 사용하는 다양한 방법들이 있다.
대표적인 예로 `.select` 와 `find`/`find_all` 을 사용하는 방법이 있지만
지금은 css selector 선택자를사용했다.
2. spotify API을 이용하기
2-1 . 계정 생성하기
가입 후
https://developer.spotify.com/
Home | Spotify for Developers
Music, meet code. Powerful APIs, SDKs and widgets for simple and advanced applications.
developer.spotify.com
상단위에 DASHBOARD 에 들어가서 create an app을 눌러 프로젝트 하나를 만드면
id 와 secret을 준다.
2-3 .token 생성하기
pip install spotipy을 이용해 모듈을 설치한다.
import spotipy
from spotipy.oauth2 import SpotifyOAuth
spotifyoauth에 사용할 인자들
client_id=None, client_secret=None, redirect_uri=None, scope=None, cache_path=None, show_dialog=False |
1)scope 설정하기 : 필요한 정보만 사용할 수 있도록 범위정하기
다양한 scope 등이 있는데 나는 플레이리스트를 만드는 걸 해보려고 한다.
2)인증이 실패하거나 성공하고 나서 리드렉트 하기 위한 주소를 나의 대쉬보드에서 redirect_url 로 등록한다.
3)생성된 토큰을 저장할 이름과 형식
import spotipy
from spotipy.oauth2 import SpotifyOAuth
sp = spotipy.Spotify(
auth_manager=SpotifyOAuth(
scope="playlist-modify-private",
redirect_uri="https://example.com",
client_id="받아둔것",
client_secret="받아둔것",
show_dialog=True,
cache_path="token.txt"
)
)
user_id = sp.current_user()["id"]
이러고 실행하면 동의하겠냐는 example.com 페이지가 뜨고 동의한다 누름 파일안에 형제파일에 토큰이 token.txt파일에 저장된다.
여기까지는 여차저차하는데 문제가 생겼다 .spotify api와 모듈은 데이터가 많아서 그런지 사용하기 조금 어려운것 같다.
나의 목표는 빌보드에서 가져온 것을 스포티파이 플레이리스트로 만들려고 한건데 주말에 다시 천천히 시도해야겠다.