본문 바로가기

프로젝트

음악 장르 경향 분석

1) 주제 선정 이유

- 요즘 많은 사람들이 음악과 함께 살아가고 있습니다. 길거리 어디를 돌아다니든 음악이 나오는 것을 들을 수 있습니다. 저도 음악을 좋아하는 한 사람으로써 평소 음악을 많이 듣습니다. 음악을 듣다보면 개인 마다 좋아하는 음악 스타일이 다르기도하고 계절별로 음원 사이트 상위를 장식하는 음악의 장르가 달라지는 것을 확인 할 수 있습니다, 저는 이번 텀프로젝트를 통해 사람들이 계절별로 어떤 장르의 노래를 선호하는지, 해가 거듭하면서 어떤 장르들이 사랑받는지에 관해 데이터를 분석하고 계절별로 어떤 장르의 노래를 출시해야 성공가능성이 높은지 분석해보고 싶어졌습니다. 또한 분석한 데이터를 토대로 어떤 장르의 노래를 어느 계절에 내야 가장 히트를 칠지 예상해보도록 하겠습니다.

 

2) 인터넷을 통한 데이터 획득

- 연도별 노래 장르 분석: 이 부분의 데이터를 취득하기 위해서 '지니'사이트의 '시대별 차트'를 이용했다. 사이트에 들어가 '도구 더보  기'에 '개발자 도구'를 이용하여 내가 추출하고 싶은 부분의 html언어를 얻어왔다. 먼저 각 연도별 노래의 제목을 1~50위 까지 html태그 ('td','info') 를 이용하여 추출하여 list의 형태로 '제목'에 저장하였다. 그리고 노래의 장르를 추출하기 위해 html태그 ('td','link')를 이용하여 노래마다 부여된 노래고유번호를 얻었다. 이러한 과정에서 2014년 차트순위에서 35위가 비어있는 것을 확인하였다. 이는 사이트 오류인것으로 확인된다. 어쨌든 추출한 고유번호와 .format() 코드, html태그 (class_='value')를 이용하여 연도별 1~50위 까지 노래의 장르를 모두 추출하여 각 연도별 list를 만들어 저장하였다. 이후 연도마다 장르별 노래의 갯수를 세어 각 장르의 list에 연도별 갯수 변화 추이를 저장하였다.

 

- 계절별 노래 장르 분석: 이 부분의 데이터를 취득하기 위해 '지니' 사이트의 '월간 차트'를 이용했다. 사이트에 들어가 '도구 더보  기'에 '개발자 도구'를 이용하여 내가 추출하고 싶은 부분의 html언어를 얻어왔다. 먼저 각 월별 노래의 제목을 1~50위 까지 html태그 ('td','info') 를 이용하여 추출하여 list의 형태로 '제목'에 저장하였다. 그리고 노래의 장르를 추출하기 위해 html태그 ('td','link')를 이용하여 노래마다 부여된 노래고유번호를 얻었다. 추출한 고유번호와 .format() 코드, html태그 (class_='value')를 이용하여 월별 1~50위 까지 노래의 장르를 모두 추출하여 각 월별 list를 만들어 저장하였다. 이후 월마다 장르별 노래의 갯수를 세어 각 장르의 list에 연도별 갯수 변화 추이를 저장하였다.

 

3) 데이터 가공

- 웹 크롤링을 통해 먼저 2010년부터 2021년까지의 Top50에 속하는 노래제목들을 모두 추출했다. 그리고 노래상세정보 페이지를 크롤링하여 각 노래들의 장르를 데이터로얻었다. 그리고 연도별로 장르 list를 만들어 Top50 노래들의 장르들을 각 list에 저장했다. 그리고 list.count() 함수를 이용하여 각 연도별로 발라드,댄스 등의 세부 장르들은 몇개씩 top50에 속해있는지 확인하고 또 이들을 각 list에 저장했다. 그리고 pandas module을 import하여 x축을 연도, y축을 숫자로 하여 top50에 속하는 각 장르의 변화 추이를 하나의 그래프로 시각화하여 나타내었다.

 

- 웹 크롤링을 통해 먼저 2021년도 1월~12월 까지의 Top50에 속하는 노래제목들을 모두 추출했다. 그리고 노래상세정보 페이지를 크롤링하여 각 노래들의 장르를 데이터로얻었다. 그리고 월별로 장르 list를 만들어 Top50 노래들의 장르들을 각 list에 저장했다. 그리고 list.count() 함수를 이용하여 각 월별로 발라드,댄스 등의 세부 장르들은 몇개씩 top50에 속해있는지 확인하고 또 이들을 각 list에 저장했다. 그리고 pandas module을 import하여 x축을 연도, y축을 숫자로 하여 top50에 속하는 각 장르의 변화 추이를 하나의 그래프로 시각화하여 나타내었다.

 

+ 참고문헌: 파이썬으로 데이터 주무르기 +

+ 데이터 원본: https://www.genie.co.kr/chart/musicHistory,  https://www.genie.co.kr/chart/top200?ditc=M&rtm=N +

+ 코드는 아래에 첨부 +

 

코드.pdf
1.21MB

'프로젝트' 카테고리의 다른 글

간단한 챗봇 만들기  (1) 2023.01.19