목표: 멜론차트 TOP100을 가져와서 json파일로 저장하기
멜론차트는 https://www.melon.com/chart/ 여기서 가져올껍니다.
웹 사이트에서 정보를 긁어오는 것 = 크롤링
크롤링하면 대표적으로 bs4랑 셀레니움이 유명합니다.
여기서는 bs4를 사용할껍니다.
그러면 bs4사용법에 대해 알아봅시다.
먼저 requests랑 bs4를 설치해야 됩니다.
터미널에 아래 2개를 입력해서 설치해줍시다.
pip install requests
pip install bs4
requests랑 bs4를 import하고 시작합니다.
import requests
from bs4 import BeautifulSoup
그럼 어떤식으로 코드를 짤 것인가?
사이트 접속 -> 원하는 데이터(멜론 차트 TOP 100) 찾아서 가져오기 -> 사용하기(json으로 저장)
이 순서로 진행합니다.
사이트 접속부터 해봅시다.
import requests
from bs4 import BeautifulSoup
url = 'https://www.melon.com/chart/' #링크를 url에 저장
#사이트 접속여부 확인
response = requests.get(url)
if response.status_code == 200:
print("yes")
else :
print(response.status_code)
url에 get요청을 보내서 상태코드를 확인 할껍니다.
상태코드 = response.status_code
여기서 상태코드는 HTTP 상태코드를 말할는거임 https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C
200이 요청 성공했다는 뜻
위 코드를 실행하면 "yes"가 출력되어야 성공한 겁니다.
하지만 막상 실행해보면 406을 뱉습니다.
위 링크에서 406이 뭔지 찾아보면
- 406(허용되지 않음): 요청한 페이지가 요청한 콘텐츠 특성으로 응답할 수 없다.
랍니다 대충 사이트에서 거부했다는 뜻
아마 사람이 아니라고 생각해서 거부당한 겁니다.
나 사람이다 라고 애기를 해줘야 할듯
해더에 추가를 해주면 됩니다.
import requests
from bs4 import BeautifulSoup
url = 'https://www.melon.com/chart/' #링크를 url에 저장
h = { 'User-Agent': 'Mozilla/5.0'} #해더에 추가할 내용
#사이트 접속여부 확인
response = requests.get(url, headers=h)
if response.status_code == 200:
print("yes")
else :
print(response.status_code)
위 코드를 실행보면 "yes"를 잘 출력합니다.
그러면 사이트 접속은 성공
이제 원하는 데이터를 찾아서 가져와 봅시다.
원하는 데이터(멜론 차트 TOP 100) 찾아서 가져오기
import requests
from bs4 import BeautifulSoup
url = 'https://www.melon.com/chart/'
h = { 'User-Agent': 'Mozilla/5.0' }
response = requests.get(url, headers=h)
if response.status_code == 200:
html = response.text #html 저장
soup = BeautifulSoup(html, 'html.parser') #html 파싱
print(soup)
else :
print(response.status_code)
실행해보면 뭔가 주르륵 나올텐데 우리는 여기서 안보고 사이트 들어가서 F12 눌러서 봅시다.
노래 이름 + 가수를 랭크순으로 1위부터 100위까지를 출력하는게 목표니까 노래 이름부터 찾아봅시다.
사이트 들어가서 F12눌러보면
이런 화면 나옵니다.
위 움짤처럼 제목을 선택해서 찾아봅시다.
여기에 우클릭해서 ->복사 ->selector복사 해둡시다.
다시 코드로 돌아와서
import requests
from bs4 import BeautifulSoup
url = 'https://www.melon.com/chart/'
h = { 'User-Agent': 'Mozilla/5.0' }
response = requests.get(url, headers=h)
if response.status_code == 200:
html = response.text
soup = BeautifulSoup(html, 'html.parser')
else :
print(response.status_code)
name = soup.select('#lst50 > td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a') #아까 복사한 거
print(name)
name = soup.select('복사한 거') 해둡시다.
그리고 출력해보면
리스트형태로 뭔가 많이 나옵니다.
불필요한 게 많이 나와서 필요한 것만 뽑아봅시다.
...
생략
...
name = soup.select('#lst50 > td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a')
print(name[0].text)
soup.select()하면 리스트형태로 나옵니다.
일단 첫 번째 것만 뽑아봅시다.
출력
봄여름가을겨울 (Still Life)
네 잘나오네요.
이제 리스트 길이 구해서 순위 매기면 될 듯?
len(name)
하면 50나옵니다. 51위부터는 따로 되있나봅니다.
100위 다 보는게 목표니까
51위도 뽑아봅시다.
51위 찾아서
select 복사 해보면..
"#lst100 > td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a"
앞에 부분 빼고 다 같네요?
앞에부분만 지워서 넣어봅시다.
...
생략
...
name = soup.select('td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a')
print(len(name))
하면 100 나옵니다.
일단 100개 있답니다.
그러면 랭킹 매겨서 쭉 출력해보죠
...
생략
...
name = soup.select('td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a')
for i in range(len(name)):
print(str(i+1) + f'위: {name[i].text}')
출력
1위: 봄여름가을겨울 (Still Life)
2위: TOMBOY
3위: Feel My Rhythm
4위: LOVE DIVE
5위: 사랑인가 봐
6위: GANADARA (Feat. 아이유)
7위: 사랑은 늘 도망가
8위: INVU
9위: 취중고백
10위: 듣고 싶을까
11위: ELEVEN
12위: RUN2U
13위: 이제 나만 믿어요
14위: 다정히 내 이름을 부르면
15위: 언제나 사랑해
16위: SMILEY (Feat. BIBI)
17위: 버퍼링 (Glitch Mode)
18위: 존재만으로
19위: 신호등
20위: 다시 사랑한다면 (김필 Ver.)
21위: LOVE me
22위: 그대라는 사치
23위: 별빛 같은 나의 사랑아
24위: 회전목마 (Feat. Zion.T, 원슈타인) (Prod. Slom)
25위: 잊었니
26위: MY BAG
27위: STAY
28위: 드라마
29위: HERO
30위: 끝사랑
31위: 사랑인걸
32위: Step Back
33위: 너의 번호를 누르고
34위: strawberry moon
35위: Real Love
36위: 어제처럼
37위: Next Level
38위: Bk Love
39위: 내가 아니라도
40위: 리무진 (Feat. MINO) (Prod. GRAY)
41위: Weekend
42위: abcdefu
43위: 너, 너 (N번째 연애 X 휘인 (Whee In))
44위: 너를 생각해
45위: 호랑수월가
46위: 스물다섯, 스물하나
47위: Dynamite
48위: 봄 사랑 벚꽃 말고
49위: Butter
50위: 눈이 오잖아(Feat.헤이즈)
51위: 계단말고 엘리베이터
52위: 라일락
53위: 벚꽃 엔딩
54위: Starlight
55위: Counting Stars (Feat. Beenzino)
56위: 바라만 본다
57위: 내 생에 아름다운
58위: DAYDREAM
59위: Permission to Dance
60위: Dreams Come True
61위: 봄날
62위: OHAYO MY NIGHT
63위: 아무래도 난
64위: Savage
65위: 북극성 (Never Goodbye)
66위: 벚꽃이 피면 우리 그만 헤어져
67위: Celebrity
68위: Blueming
69위: 찰나가 영원이 될 때 (The Eternal Moment)
70위: 내 손을 잡아
71위: My Universe
72위: 사이렌 Remix (Feat. UNEDUCATED KID, Paul Blanco)
73위: Dun Dun Dance
74위: 모든 날, 모든 순간 (Every day, Every Moment)
75위: Bad Habits
76위: 만남은 쉽고 이별은 어려워 (Feat. Leellamarz) (Prod. TOIL)
77위: 밤하늘의 별을(2020)
78위: 헤픈 우연
79위: 아주, 천천히
80위: 서랍
81위: 너의 모든 순간
82위: 고백
83위: 문득
84위: With
85위: Off My Face
86위: 겨울잠
87위: 어떻게 이별까지 사랑하겠어, 널 사랑하는 거지
88위: 언덕나무
89위: Arcade
90위: 낙하 (with 아이유)
91위: Can't Control Myself
92위: Stronger (What Doesn't Kill You)
93위: Christmas Tree
94위: 우연히 봄
95위: 롤린 (Rollin')
96위: 꽃 (With 김민석 of 멜로망스)
97위: 너를 위한 단어 (It’s Yours)
98위: 미니카 (Drive)
99위: That's Hilarious
100위: 흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야
1위부터 100위까지 잘 나오는 모습
가수까지 넣어봅시다.
...
생략
...
name = soup.select('td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a')
singer = soup.select('td:nth-child(6) > div > div > div.ellipsis.rank02 > span > a')
for i in range(len(name)):
print(str(i+1) + f'위: {name[i].text} - {singer[i].text}')
출력
1위: 봄여름가을겨울 (Still Life) - BIGBANG (빅뱅)
2위: TOMBOY - (여자)아이들
3위: Feel My Rhythm - Red Velvet (레드벨벳)
4위: LOVE DIVE - IVE (아이브)
5위: 사랑인가 봐 - 멜로망스
6위: GANADARA (Feat. 아이유) - 박재범
7위: 사랑은 늘 도망가 - 임영웅
8위: INVU - 태연 (TAEYEON)
9위: 취중고백 - 김민석 (멜로망스)
10위: 듣고 싶을까 - MSG워너비(M.O.M)
11위: ELEVEN - IVE (아이브)
12위: RUN2U - STAYC(스테이씨)
13위: 이제 나만 믿어요 - 임영웅
14위: 다정히 내 이름을 부르면 - 경서예지
15위: 언제나 사랑해 - 전건호
16위: SMILEY (Feat. BIBI) - 케이시 (Kassy)
17위: 버퍼링 (Glitch Mode) - YENA (최예나)
18위: 존재만으로 - NCT DREAM
19위: 신호등 - 원슈타인
20위: 다시 사랑한다면 (김필 Ver.) - 이무진
21위: LOVE me - 임영웅
22위: 그대라는 사치 - BE'O (비오)
23위: 별빛 같은 나의 사랑아 - 임영웅
24위: 회전목마 (Feat. Zion.T, 원슈타인) (Prod. Slom) - 임영웅
25위: 잊었니 - sokodomo
26위: MY BAG - 임영웅
27위: STAY - (여자)아이들
28위: 드라마 - The Kid LAROI
29위: HERO - Justin Bieber
30위: 끝사랑 - 아이유
31위: 사랑인걸 - 임영웅
32위: Step Back - 임영웅
33위: 너의 번호를 누르고 - 한동근
34위: strawberry moon - GOT the beat
35위: Real Love - 김나영
36위: 어제처럼 - 아이유
37위: Next Level - 오마이걸 (OH MY GIRL)
38위: Bk Love - 폴킴
39위: 내가 아니라도 - aespa
40위: 리무진 (Feat. MINO) (Prod. GRAY) - 임영웅
41위: Weekend - 주호
42위: abcdefu - BE'O (비오)
43위: 너, 너 (N번째 연애 X 휘인 (Whee In)) - 태연 (TAEYEON)
44위: 너를 생각해 - GAYLE
45위: 호랑수월가 - 휘인 (Whee In)
46위: 스물다섯, 스물하나 - 주시크 (Joosiq)
47위: Dynamite - 탑현
48위: 봄 사랑 벚꽃 말고 - 자우림
49위: Butter - 방탄소년단
50위: 눈이 오잖아(Feat.헤이즈) - HIGH4 (하이포)
51위: 계단말고 엘리베이터 - 아이유
52위: 라일락 - 방탄소년단
53위: 벚꽃 엔딩 - 이무진
54위: Starlight - 임영웅
55위: Counting Stars (Feat. Beenzino) - 아이유
56위: 바라만 본다 - 버스커 버스커
57위: 내 생에 아름다운 - 태일 (TAEIL)
58위: DAYDREAM - BE'O (비오)
59위: Permission to Dance - MSG워너비(M.O.M)
60위: Dreams Come True - 이예준
61위: 봄날 - 하이라이트 (Highlight)
62위: OHAYO MY NIGHT - 방탄소년단
63위: 아무래도 난 - aespa
64위: Savage - 방탄소년단
65위: 북극성 (Never Goodbye) - 디핵 (D-Hack)
66위: 벚꽃이 피면 우리 그만 헤어져 - PATEKO (파테코)
67위: Celebrity - 주시크 (Joosiq)
68위: Blueming - aespa
69위: 찰나가 영원이 될 때 (The Eternal Moment) - NCT DREAM
70위: 내 손을 잡아 - 벤
71위: My Universe - 아이유
72위: 사이렌 Remix (Feat. UNEDUCATED KID, Paul Blanco) - 아이유
73위: Dun Dun Dance - 마크툽 (MAKTUB)
74위: 모든 날, 모든 순간 (Every day, Every Moment) - 아이유
75위: Bad Habits - Coldplay
76위: 만남은 쉽고 이별은 어려워 (Feat. Leellamarz) (Prod. TOIL) - 방탄소년단
77위: 밤하늘의 별을(2020) - 호미들
78위: 헤픈 우연 - 오마이걸 (OH MY GIRL)
79위: 아주, 천천히 - 폴킴
80위: 서랍 - Ed Sheeran
81위: 너의 모든 순간 - 베이식 (Basick)
82위: 고백 - 경서
83위: 문득 - 헤이즈 (Heize)
84위: With - 비비 (BIBI)
85위: Off My Face - 10CM
86위: 겨울잠 - 성시경
87위: 어떻게 이별까지 사랑하겠어, 널 사랑하는 거지 - 멜로망스
88위: 언덕나무 - BE'O (비오)
89위: Arcade - 김태리
90위: 낙하 (with 아이유) - 남주혁
91위: Can't Control Myself - 보나(우주소녀)
92위: Stronger (What Doesn't Kill You) - 최현욱
93위: Christmas Tree - 이주명
94위: 우연히 봄 - Justin Bieber
95위: 롤린 (Rollin') - 아이유
96위: 꽃 (With 김민석 of 멜로망스) - AKMU (악뮤)
97위: 너를 위한 단어 (It’s Yours) - 이승윤
98위: 미니카 (Drive) - NCT DREAM
99위: That's Hilarious - AKMU (악뮤)
100위: 흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야 - 태연 (TAEYEON)
? 노래랑 가수가 매칭이 안되는 경우가 발생했습니다.
아마도 가수가 여려명일 경우 a태그가 여러개라 밀리는 듯
td:nth-child(6) > div > div > div.ellipsis.rank02 > a 여기서 > a 지우면 해결될듯?
지우고 다시 실행 해봅시다.
...
생략
...
name = soup.select('td:nth-child(6) > div > div > div.ellipsis.rank01 > span > a')
singer = soup.select('td:nth-child(6) > div > div > div.ellipsis.rank02 > span')
for i in range(len(name)):
print(str(i+1) + f'위: {name[i].text} - {singer[i].text}')
출력
1위: 봄여름가을겨울 (Still Life) - BIGBANG (빅뱅)
2위: TOMBOY - (여자)아이들
3위: Feel My Rhythm - Red Velvet (레드벨벳)
4위: LOVE DIVE - IVE (아이브)
5위: 사랑인가 봐 - 멜로망스
6위: GANADARA (Feat. 아이유) - 박재범
7위: 사랑은 늘 도망가 - 임영웅
8위: INVU - 태연 (TAEYEON)
9위: 취중고백 - 김민석 (멜로망스)
10위: 듣고 싶을까 - MSG워너비(M.O.M)
11위: ELEVEN - IVE (아이브)
12위: RUN2U - STAYC(스테이씨)
13위: 이제 나만 믿어요 - 임영웅
14위: 다정히 내 이름을 부르면 - 경서예지, 전건호
15위: 언제나 사랑해 - 케이시 (Kassy)
16위: SMILEY (Feat. BIBI) - YENA (최예나)
17위: 신호등 - 이무진
18위: 버퍼링 (Glitch Mode) - NCT DREAM
19위: 존재만으로 - 원슈타인
20위: 다시 사랑한다면 (김필 Ver.) - 임영웅
21위: 회전목마 (Feat. Zion.T, 원슈타인) (Prod. Slom) - sokodomo
22위: 그대라는 사치 - 임영웅
23위: STAY - The Kid LAROI, Justin Bieber
24위: 드라마 - 아이유
25위: 별빛 같은 나의 사랑아 - 임영웅
26위: LOVE me - BE'O (비오)
27위: 잊었니 - 임영웅
28위: MY BAG - (여자)아이들
29위: HERO - 임영웅
30위: Step Back - GOT the beat
31위: 사랑인걸 - 한동근
32위: 끝사랑 - 임영웅
33위: strawberry moon - 아이유
34위: 어제처럼 - 폴킴
35위: Real Love - 오마이걸 (OH MY GIRL)
36위: Next Level - aespa
37위: Bk Love - 임영웅
38위: 리무진 (Feat. MINO) (Prod. GRAY) - BE'O (비오)
39위: Weekend - 태연 (TAEYEON)
40위: 내가 아니라도 - 주호
41위: 너, 너 (N번째 연애 X 휘인 (Whee In)) - 휘인 (Whee In)
42위: 너의 번호를 누르고 - 김나영
43위: abcdefu - GAYLE
44위: 호랑수월가 - 탑현
45위: 너를 생각해 - 주시크 (Joosiq)
46위: Dynamite - 방탄소년단
47위: 눈이 오잖아(Feat.헤이즈) - 이무진
48위: 봄 사랑 벚꽃 말고 - HIGH4 (하이포), 아이유
49위: 스물다섯, 스물하나 - 자우림
50위: Butter - 방탄소년단
51위: 라일락 - 아이유
52위: 계단말고 엘리베이터 - 임영웅
53위: 벚꽃 엔딩 - 버스커 버스커
54위: Counting Stars (Feat. Beenzino) - BE'O (비오)
55위: Starlight - 태일 (TAEIL)
56위: 바라만 본다 - MSG워너비(M.O.M)
57위: 내 생에 아름다운 - 이예준
58위: Dreams Come True - aespa
59위: 봄날 - 방탄소년단
60위: Permission to Dance - 방탄소년단
61위: Savage - aespa
62위: OHAYO MY NIGHT - 디핵 (D-Hack), PATEKO (파테코)
63위: DAYDREAM - 하이라이트 (Highlight)
64위: 아무래도 난 - 주시크 (Joosiq)
65위: Celebrity - 아이유
66위: Blueming - 아이유
67위: 북극성 (Never Goodbye) - NCT DREAM
68위: 벚꽃이 피면 우리 그만 헤어져 - 벤
69위: 찰나가 영원이 될 때 (The Eternal Moment) - 마크툽 (MAKTUB)
70위: 내 손을 잡아 - 아이유
71위: 모든 날, 모든 순간 (Every day, Every Moment) - 폴킴
72위: Bad Habits - Ed Sheeran
73위: 만남은 쉽고 이별은 어려워 (Feat. Leellamarz) (Prod. TOIL) - 베이식 (Basick)
74위: My Universe - Coldplay, 방탄소년단
75위: 사이렌 Remix (Feat. UNEDUCATED KID, Paul Blanco) - 호미들
76위: Dun Dun Dance - 오마이걸 (OH MY GIRL)
77위: 밤하늘의 별을(2020) - 경서
78위: 고백 - 멜로망스
79위: 서랍 - 10CM
80위: 아주, 천천히 - 비비 (BIBI)
81위: Off My Face - Justin Bieber
82위: 헤픈 우연 - 헤이즈 (Heize)
83위: 겨울잠 - 아이유
84위: 너의 모든 순간 - 성시경
85위: 문득 - BE'O (비오)
86위: 어떻게 이별까지 사랑하겠어, 널 사랑하는 거지 - AKMU (악뮤)
87위: Can't Control Myself - 태연 (TAEYEON)
88위: 언덕나무 - 이승윤
89위: With - 김태리, 남주혁, 보나(우주소녀), 최현욱, 이주명
90위: 낙하 (with 아이유) - AKMU (악뮤)
91위: 우연히 봄 - 로꼬, 유주 (YUJU)
92위: Christmas Tree - V
93위: Arcade - NCT DREAM
94위: Stronger (What Doesn't Kill You) - Kelly Clarkson
95위: 롤린 (Rollin') - 브레이브걸스
96위: 꽃 (With 김민석 of 멜로망스) - 박봄 (Park Bom)
97위: 흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야 - 장범준
98위: 너를 위한 단어 (It’s Yours) - NCT DREAM
99위: 미니카 (Drive) - NCT DREAM
100위: That's Hilarious - Charlie Puth
순위가 바뀐 건 글 쓰는 동안에 순위가 변동되어서 그래요..
아무튼 노래랑 가수가 잘 일치되는 걸 볼 수 있습니다.
사용하기
이제 이렇게 가져온 정보들을 json으로 저장해봅시다.
2022.04.13 - [코딩/python(파이썬)] - [Python] 파이썬 JSON 사용법 예제로 보기
{ 노래 제목 : 가수명 }인 딕셔너리를 만들어서
json으로 바꿀겁니다.
import requests
from bs4 import BeautifulSoup
import json
```
중략
```
name = soup.select('.ellipsis.rank01 > span > a')
singer = soup.select('.ellipsis.rank02 > span')
dic = {}
for i in range(len(name)):
dic[name[i].text] = singer[i].text
with open ('melon.json', "w", encoding="UTF-8") as f:
json.dump(dic, f, ensure_ascii=False ,indent=4)
내장모듈인 json을 사용했습니다.
이러면 같은경로에 melon.json으로 저장됩니다.
melon.json
{
"봄여름가을겨울 (Still Life)": "BIGBANG (빅뱅)",
"TOMBOY": "(여자)아이들",
"Feel My Rhythm": "Red Velvet (레드벨벳)",
"LOVE DIVE": "IVE (아이브)",
"사랑인가 봐": "멜로망스",
"GANADARA (Feat. 아이유)": "박재범",
"사랑은 늘 도망가": "임영웅",
"INVU": "태연 (TAEYEON)",
"취중고백": "김민석 (멜로망스)",
"듣고 싶을까": "MSG워너비(M.O.M)",
"ELEVEN": "IVE (아이브)",
"RUN2U": "STAYC(스테이씨)",
"이제 나만 믿어요": "임영웅",
"다정히 내 이름을 부르면": "경서예지, 전건호",
"언제나 사랑해": "케이시 (Kassy)",
"SMILEY (Feat. BIBI)": "YENA (최예나)",
"신호등": "이무진",
"버퍼링 (Glitch Mode)": "NCT DREAM",
"존재만으로": "원슈타인",
"다시 사랑한다면 (김필 Ver.)": "임영웅",
"회전목마 (Feat. Zion.T, 원슈타인) (Prod. Slom)": "sokodomo",
"그대라는 사치": "임영웅",
"STAY": "The Kid LAROI, Justin Bieber",
"드라마": "아이유",
"별빛 같은 나의 사랑아": "임영웅",
"LOVE me": "BE'O (비오)",
"잊었니": "임영웅",
"MY BAG": "(여자)아이들",
"HERO": "임영웅",
"Step Back": "GOT the beat",
"사랑인걸": "한동근",
"끝사랑": "임영웅",
"strawberry moon": "아이유",
"어제처럼": "폴킴",
"Real Love": "오마이걸 (OH MY GIRL)",
"Next Level": "aespa",
"Bk Love": "임영웅",
"리무진 (Feat. MINO) (Prod. GRAY)": "BE'O (비오)",
"Weekend": "태연 (TAEYEON)",
"내가 아니라도": "주호",
"너, 너 (N번째 연애 X 휘인 (Whee In))": "휘인 (Whee In)",
"너의 번호를 누르고": "김나영",
"abcdefu": "GAYLE",
"호랑수월가": "탑현",
"너를 생각해": "주시크 (Joosiq)",
"Dynamite": "방탄소년단",
"눈이 오잖아(Feat.헤이즈)": "이무진",
"봄 사랑 벚꽃 말고": "HIGH4 (하이포), 아이유",
"스물다섯, 스물하나": "자우림",
"Butter": "방탄소년단",
"라일락": "아이유",
"계단말고 엘리베이터": "임영웅",
"벚꽃 엔딩": "버스커 버스커",
"Counting Stars (Feat. Beenzino)": "BE'O (비오)",
"Starlight": "태일 (TAEIL)",
"바라만 본다": "MSG워너비(M.O.M)",
"내 생에 아름다운": "이예준",
"Dreams Come True": "aespa",
"봄날": "방탄소년단",
"Permission to Dance": "방탄소년단",
"Savage": "aespa",
"OHAYO MY NIGHT": "디핵 (D-Hack), PATEKO (파테코)",
"DAYDREAM": "하이라이트 (Highlight)",
"아무래도 난": "주시크 (Joosiq)",
"Celebrity": "아이유",
"Blueming": "아이유",
"북극성 (Never Goodbye)": "NCT DREAM",
"벚꽃이 피면 우리 그만 헤어져": "벤",
"찰나가 영원이 될 때 (The Eternal Moment)": "마크툽 (MAKTUB)",
"내 손을 잡아": "아이유",
"모든 날, 모든 순간 (Every day, Every Moment)": "폴킴",
"Bad Habits": "Ed Sheeran",
"만남은 쉽고 이별은 어려워 (Feat. Leellamarz) (Prod. TOIL)": "베이식 (Basick)",
"My Universe": "Coldplay, 방탄소년단",
"사이렌 Remix (Feat. UNEDUCATED KID, Paul Blanco)": "호미들",
"Dun Dun Dance": "오마이걸 (OH MY GIRL)",
"밤하늘의 별을(2020)": "경서",
"고백": "멜로망스",
"서랍": "10CM",
"아주, 천천히": "비비 (BIBI)",
"Off My Face": "Justin Bieber",
"헤픈 우연": "헤이즈 (Heize)",
"겨울잠": "아이유",
"너의 모든 순간": "성시경",
"문득": "BE'O (비오)",
"어떻게 이별까지 사랑하겠어, 널 사랑하는 거지": "AKMU (악뮤)",
"Can't Control Myself": "태연 (TAEYEON)",
"언덕나무": "이승윤",
"With": "김태리, 남주혁, 보나(우주소녀), 최현욱, 이주명",
"낙하 (with 아이유)": "AKMU (악뮤)",
"우연히 봄": "로꼬, 유주 (YUJU)",
"Christmas Tree": "V",
"Arcade": "NCT DREAM",
"Stronger (What Doesn't Kill You)": "Kelly Clarkson",
"롤린 (Rollin')": "브레이브걸스",
"꽃 (With 김민석 of 멜로망스)": "박봄 (Park Bom)",
"흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야": "장범준",
"너를 위한 단어 (It’s Yours)": "NCT DREAM",
"미니카 (Drive)": "NCT DREAM",
"That's Hilarious": "Charlie Puth"
}
순위 순서대로 저장되었으니 인덱싱해서 뽑아 쓰면 될듯싶습니다.
끝.
'코딩 > python(파이썬)' 카테고리의 다른 글
[Python] 파이썬 JSON 사용법 예제로 보기 (0) | 2022.04.13 |
---|