Link
01-21 07:19
«   2021/01   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Archives
Today
276
Total
1,290,312
관리 메뉴

꿈 많은 사람의 이야기

벅스 차트 분석(파이썬 크롤링과 R을 이용한 분석) 본문

python

벅스 차트 분석(파이썬 크롤링과 R을 이용한 분석)

이수진의 블로그 이수진의 블로그 2017. 11. 16. 12:19
반응형

요즘 취업하려고 공부를 하고 있는데요

점점 취업의 목적이 아닌 그냥 제가 하고 싶은 데이터 크롤링해서 분석하는 재미에 빠졌네요 ㅋㅋ

물론 이쪽으로 취업을 하면 좋겠지만요 ㅠㅠ

 

뭐 아무튼 어제 심심해서 벅스 10월 인기 차트를 긁어와서 데이터 분석을 해봤습니다.

이 데이터 분석은 10월 벅스 인기차트 top 100안에 가수 이름(또는 그룹 이름)이 몇 번 나왔는지 분석하는 것입니다!

top 100에 해당되는 앨범 혹은 곡이 많이 있으면 그만큼 가수 이름이 많이 나왔겠죠?

10월 한 달 동안의 데이터를 파이썬으로 크롤링해 R로 데이터 분석을 진행해봤습니다

 

크롤링을 하기에 앞서 벅스 사이트에 구조를 살펴보겠습니다

chartdate로 차트 날짜를 보여줍니다

그리고 artist 클래스 안에 텍스트 값이 있네요!

저 값들을 가져오면 되겠습니다

 

간단하게 크롤러를 만들었어요

for 문으로 돌면서 날짜별로 진행합니다.

그리고 벅스 chart 값이 01, 02 식으로 진행되기 때문에 1부터 9까진 앞에 0을 붙여서 url 값에 넣습니다!

그리고 미리 준비해둔 엑셀 파일에 바로 append 붙여넣기 합니다

 

 

잘 가지고 와집니다

솔직히 이 클롤링은 완벽하지 않을 수도 있습니다

지금 포스팅 쓰면서 보니까 범위가 32까지 해야 31일도 긁어오는데 착각해서 31로 해놨네요

뭐 아무튼 한번 보겠습니다

 

 

자 이렇게 엑셀 파일에 데이터가 들어갔네요 ㅎㅎ

이제 이 데이터를 가지고 R로 분석해볼까요!

 

R로 들어갑니다

singer 변수에 singer.xlsx 파일을 읽어와서 넣어줍니다

 

 

그리고 table로 간단하게 빈도수를 보면 아래와 같이 나옵니다

 

 

윤종신 43회, 헤이즈 71회, 황치열 26회, 현아 25회 등이네요

앨범이나 노래를 많이 내서 top 100안에 많이 있으면 그만큼의 숫자가 커집니다

이 데이터는 결코 인기순위가 아니에요!

높은 차트를 분석하는게 아닙니다!

 

그리고 데이터 프레임 형식으로 singer_data에 넣습니다

 

 

출력해보죠

 

 

위와 같이 나옵니다. singer별 Freq가 나오게 됩니다

자 이제 대망의 데이터 분석을 진행해보죠

그래프로 출력 해보겠습니다!

 

 

데이터를 넣고요 그래프를 그리면 아래처럼 나옵니다

 

 

오.. 맙소사

가수 이름이 다 겹쳐져서 나오지가 않네요 ㅠㅠ

전혀 생각 못했네요

하아 ㅋㅋㅋㅋㅋㅋㅋ

 

그래서 워드클라우드를 사용하려고 했습니다

처음 해보는 것이기에 구글링을 통해서 사용법을 터득했죠

wordcloud는 많이 보셨을 겁니다. 단어를 보여주는데 빈도수가 큰 게 크게 나와져 보이는 것이죠

 

 

패키지 설정하고 이것저것 세팅한 다음 출력해주면 아래 처럼 나옵니다!

 

보이네요!

볼빨간사춘기가 top 100안에 가장 많은 앨범, 노래가 있었나봐요!

그리고 아이유도 많이 있어요

다음으론 방탄소년단, 체인스모커, 여자친구, 윤종신, 헤이즈 등이 있네요!

여기서 빈도수가 상위권인 데이터만 뽑아서 다시 그래프를 그려봅시다

Freq 즉 빈도수가 50인 데이터만 추려서 뽑아냅니다.

 

 

그리고 막대 그래프로 그려주면!

 

자 이렇게 나오네요!

꽤나 흥미롭네요

아직 많이 부족하지만 다른 데이터들도 분석해봐야겠어요 ㅎㅎ

 

 

 

반응형
0 Comments
댓글쓰기 폼