안녕하세요!
에디터 니콜입니다.
드디어 기다리고 기다리던 크리스마스가 다가오는데요.
늘 그렇듯 크리스마스 시즌이면 흰 눈과 크리스마스 트리 및 백화점과 거리 상가가 동화 속 한 장면처럼 반짝반짝하게 장식되어 있어 늘 마음이 설레이게 하는데요.
꼭 거리의 풍경이 아니더라도 크리스마스나 겨울 노래를 들으면 저도 모르게 기분이 들뜹니다.
여러분의 크리스마스 노래 원픽은 무엇인가요?
이번 블로그는 멜론 차트에서 크리스마스 인기 캐롤 순위를 크롤링하는 것입니다. 코딩 없이 octoparse 무료 버전으로 손쉽게 데이터를 가져올 수 있으니 함께 해보아요!
1.octoparse 클라이언트에서 멜론 차트 열기
octoparse 홈 화면의 검색창에 크롤링할 웹 사이트를 입력하고 스타트 버튼을 클릭합니다.
멜론 탑 100 차트 링크는 다음과 같습니다.
스타트 버튼을 누른 후 멜론 차트가 로드될 때까지 잠시 기다립니다.
2.자동 인식 기능으로 빠르게 크롤링하기
멜론 차트가 로드되면 팁 패널의 웹 페이지 데이터 자동 인식을 클릭하여 빠르게 크롤링합니다.
자동 인식이 끝나면 다음과 같은 팁이 뜹니다. 이때 워크플로우 생성을 클릭해 주시면 됩니다.
3.데이터 정리하기
생성한 워크플로우는 다음과 같이 생겼습니다.
루프 아이템(아이템 순환)을 클릭하면 다음과 같이 크롤링 된 데이터 예시를 볼 수 있습니다. 왼쪽 상단의 큰 부분은 내장 브라우저에서 웹 페이지 선택 상황을 볼 수 있고 왼쪽 하단은 데이터 미리보기 부분으로 수집된 데이터 필드에 대해 간단한 수정이나 삭제 추가 등 엑셀과 비슷하게 이용하실 수 있습니다.
데이터 필드에서 각 필드 이름을 클릭하면 브라우저에서의 데이터 위치가 푸른색으로 표시됩니다. 반면에 기타 데이터 필드는 푸른 점선으로 표시됩니다.
보시다시피 어떤 데이터 필드는 필요 없거나 데이터 필드 이름이 잘못된 경우가 있습니다.
저는 순위등락과 첫 번째 앨범이미지 필드가 필요 없기떄문에 데이터 필드 이름에서 마우스 오른쪽을 클릭하여 필드 삭제 하겠습니다. 기타 필요 없는 데이터 필드도 이와 같은 방식으로 삭제 해줍니다.
다음은 데이터 필드 이름을 수정해 보겠습니다.
이름 수정은 컴퓨터 바탕화면에서 숏컷을 클릭하는 것처럼 더블클릭하시고 고치시면 됩니다.
데이터 필드 이름 수정 효과는 다음과 같습니다.
추가로 저는 엑셀이나 데이터베이스 작업을 더 수월하게 하기 위해 좋아요 데이터 필드에서 “총건수” 란 단어를 빼고 싶습니다. 이때 좋아요 필드에 마우스 오른쪽을 누르고 클린 데이터를 눌러 줍니다.
다음 replace를 누르고
replace 창에 지우고 싶은 문자”총건수”를 입력해 주고
with 창은 공백으로 두고 evaluate 버튼을 누르면
input 부분에서 대체전 효과를
result 부분에서 대체 후 효과를 볼 수 있습니다.
만족하는 효과가 날 때까지 수정 후 confirm 버튼을 누릅니다.
바로 apply를 클릭하여 적용합니다.
데이터 예비처리 후 데이터 필드는 다음과 같습니다.
기타 octoparse 데이터 클리닝 기능은 본 링크에서 만나보세요.
4.작업 실행하기
전체 창 오른쪽 상단의 Run버튼을 누르고
로컬과 클라우드 실행 모드에서 하나를 선택하면 멜론 차트 수집이 시작됩니다.
5. 데이터 다운받기
작업이 완료되면 다음과 같은 창이 뜹니다.
중복항 없이 완벽하게 수집되었네요.
저는 export버튼을 눌러 바로 데이터를 가져오겠습니다.
원하는 파일 형식을 선택하고 ok를 클릭해 줍니다.
이어서 파일을 저장할 위치를 선택해 주면 올해 크리스마스 멜론 탑 100 차트가 완성됩니다.
파일을 열면 다음과 같습니다. 12일 22일 기준으로는 엑소의 첫 눈이 1등이고 르세라핌의 퍼펙트 나이트가 2위네요.
마무리
오늘엔 크리스마스 특집으로 멜론 차트 크롤링에 대해 소개해 드렸는데요. 사실 멜론 차트뿐만 아니라 기타 차트 형식의 웹 사이트 데이터로 오늘과 같은 방법으로 쉽게 크롤링할 수 있습니다.
octoparse 클라이언트에는 네이버, 쿠팡, 카카오, 잡코리아 등 많은 한국 웹사이트를 위해 제작된 크롤러 템플릿도 무료로 제공하고 있다고 하니 필요하신 분들은 꼭 한번 이용해 주셔도 좋을것 같습니다.
여러분 미리 메리 크리스마스!