개발 동기
유튜브 프리미엄이야 그렇다쳐도, 멜론을 처음 스트리밍클럽에 가입했던게 2010년도 초반쯤이었다. 그때는 분명 3천원이었던걸로 기억하는데... 하기사 체감 물가가 김밥 한줄에 천원하던 시대에서 3~4천원하니 그럴만도 하다 싶지만, 돈을 좀 아껴보고자 멜론 구독을 이제 보내줄 때가 된 것 같다.
가수 - 노래제목 형태의 CSV파일로 파싱해서 soundiiz 로 유튜브 뮤직 플레이리스트를 만들어 줄 수 있다고 한다.
나는 이제 개발자이기도 하니까, 직접 해보기로했다. 오랜만에 셀레니움도 다시 써볼겸 작업을 했는데, 여전히 셀레니움으로 구글 플랫폼을 핸들링하는 데 짜증이낫다. 구글 로그인과정에서 오래 잡아먹어서 한 7~8시간정도 걸렸다.
작업물
작업물은 위 레포에서, 간단한 영상과 함께 확인할 수 있다.
로컬 실행을 위해 NodeJS위에서 작업했고, Selenium을 사용했다.
구글 로그인이 자동화된 브라우저에서 동작하지 않아, 로컬의 Chrome.exe를 직접 실행해서 셀레니움이 실행시킨 크롬을 핸들링하게 동작한다.
옛날에 크롤러를 제작할 때, Java Swing으로 UI를 간단하게 만들고 exe로 배포해서 사용했던 기억이 나서, ID / PW를 콘솔에 입력하고, 동작과정을 출력받는 I/O를 자바 스캐너처럼 prompt-sync를 사용해서 구현했는데, 딱히 UI를 만들지는 않았다.
희한한 것은, 유튜브 뮤직이 요근래 멜론을 따잇(?)했다는 기사를 본 적이 있는데, 생각보다 정확하지 않았다는 점이다.
예를들어 비비 - 밤양갱 처럼 검색을 하면 다른 곡이 가장 최상위에 있는 경우가 더러 있다. 물론 밤양갱이 그렇다는 건 아니지만, 검색 결과의 정확도가 90%정도 되는 것 같았다.
사용방법은 레포 Readme에 기술되어 있듯이 클론 후 주의사항이나 선수행 동작을 잘 숙지한 후 실행만 하면 된다.
10년 넘게 계속해서 업데이트하며 사용하던 멜론 플레이리스트를 옮기는 작업을 끝냈다.
아쉽지만 멜론과는 이제 작별이다. 안녕..
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!