이제 뽑아온 노래 코드들로 각 페이지에 들어가서 데이터를 수집하려 한다.

 

모든 노래 주소는 ( https://music.bugs.co.kr/track/ + 코드 + ?wl_ref=list_tr_08_chart )

 

이런 형태로 되어 있어서 코드들만 바꾸면서 크롤링 하면 된다.

 

이제 노래 정보 페이지 형태들의 규칙성을 봐야한다.

 

페이지 형태는 크게 두가지로 보였으며

 

빨간 박스처럼 새창이 나오는 페이지와 안나오는 페이지로 구분했다.

 

새창이 나오는 페이지의 데이터만 분석 데이터로 이용했으며, 나머지 데이터는 일단 수집만 했다.

 

새창의 selector는 #participatingArtists으로 되어있었으며

 

속성을 불러왔을 때 비어있으면 노래 제목과 가수만 따로 저장을 하였다.

 

새창이 나오는 유효한 데이터는 다음과 같이 수집이 되었고

나머지 데이터는 다음과 같이 수집하여 저장 하였다.

 

유효한 데이터는 2,169건이고 나머지 데이터는 2,818건으로 수집되었다. (총 4,987건)

 

 

 

###

데이터가 필요하신 분이나 코드가 필요하신 분은

ho0shin48@gmail.com 으로 메일 보내주시면 공유해드리겠습니다.

'네트워크 분석 (연습)' 카테고리의 다른 글

데이터 수집(크롤링) - 1  (0) 2019.12.13
네트워크 분석 연습 주제  (0) 2019.12.13

먼저 원하는 분석하고자 하는 데이터가 공공데이터로 존재 하는지 찾아봤다.

 

역시 없었다.

 

그래서 스트리밍 사이트(멜론, 지니, 벅스, 바이브 등등)에서 크롤링을 할 계획을 짰다.

 

멜론, 지니, 바이브 등의 대다수가 반응형 웹으로 되어있어서 Selenium이 필요해 보였다.

 

그 중 벅스가 유일하게 Request형식으로 크롤링이 가능했고 데이터 수집 속도를 위해 벅스를 선택했다.

 

수집은 파이썬에서 BeautifulSoup 라이브러리를 사용하였다.

 

# 벅스 주간 차트 페이지

 

모든 노래의 데이터 수집은 불가능해서 차트에 들어간 노래만 크롤링 하기로 했다.

 

일일 단위는 너무 변동성 없어서 일주일 단위로 수집하기로 했다.

 

수집기간은 2014.01.01 ~ 2019.11.29로 했고 약 6년간의 데이터다.

 

먼저 각 주간 차트 페이지에 있는 모든 노래의 페이지 고유 코드를 크롤링 하기로 했다.

 

 

각 노래 페이지에 들어가면 빨간 박스와 같이 노래의 고유 코드가 주소로 적혀있고

 

주간차트 페이지의 각각의 노래 링크들 마다 고유코드를 주소로 삼고있었다.

 

모든 노래들은 다음과 같이 tbody로 묶여있었고

 

tbody안에 다음과 같이 노래의 주소가 href로 적혀있었다.

 

그래서 모든페이지의 tbody를 불러서 그 안에 href 속성을 가지고 있고

 

그 주소가 "https://music.bugs.co.kr/track/ 으로 시작하는 모든 문장을 뽑아 오기로 했다.

 

 

코드는 다음과 같이 주소들을 뽑아온 뒤 코드만 뽑고

 

중복되는 코드는 제외 시켰다.

 

 

코드는 총 5478개가 수집되었다.

'네트워크 분석 (연습)' 카테고리의 다른 글

데이터 수집(크롤링) - 2  (2) 2019.12.13
네트워크 분석 연습 주제  (0) 2019.12.13

주제 : 한국 가요계에서 어떤 사람이 영향력(?)이 높은지 분석

수집할 데이터 : 노래마다 가수, 작곡, 작사, 편곡 등의 사람들

'네트워크 분석 (연습)' 카테고리의 다른 글

데이터 수집(크롤링) - 2  (2) 2019.12.13
데이터 수집(크롤링) - 1  (0) 2019.12.13

+ Recent posts