Today
-
Yesterday
-
Total
-
  • [Toy Project] google-maps-my-places-crawler 개발기 #02
    Programing 2023. 12. 17. 18:53

    개요

     

    GitHub - MoonJuhan/google-maps-my-places-crawler

    Contribute to MoonJuhan/google-maps-my-places-crawler development by creating an account on GitHub.

    github.com

    어느정도 프로젝트를 마무리 하였습니다.


    프로젝트의 기능 정의

    앞서 설명한 대로, 프로젝트의 주요 기능은 "구글 지도의 내 장소 가져오기"입니다. 이 기능을 통해 사용자는 구글 지도에 저장된 자신의 장소를 자동으로 편리하게 가져올 수 있습니다.

     

    프로젝트의 정의된 기능은 아래와 같습니다.

    1. 사용자가 지정한 구글 지도 내 장소에 접속하여 해당 장소의 정보를 확인할 수 있습니다. 사용자는 특정 지역, 카테고리 또는 키워드를 지정하여 검색할 수 있습니다.
    2. 내 장소의 모든 장소 내역을 가져올 수 있습니다. 이를 통해 사용자는 자신이 저장한 모든 장소를 한눈에 확인할 수 있습니다. 아직 각 장소에는 이름 정보만 포함됩니다.
    3. 각 장소의 상세 정보를 가져올 수 있습니다. 사용자는 특정 장소를 선택하여 추가적인 정보를 확인할 수 있습니다. 이에는 해당 장소의 이름, 서브 이름, 주소, 장소 카테코리 등이 포함됩니다.
    4. 가져온 모든 정보를 파일로 출력할 수 있습니다. 사용자는 CSV 파일 형식으로 저장하여 엑셀에서 참고할 수 있습니다.

    실제로 사람이 하려면 하나하나 직접 클릭하여, 정보를 정리 하여야 하는데, 해당 프로젝트는 이러한 반복 작업을 자동화 하여, 필요한 정보를 쉽게 얻을 수 있도록 도와 줄 수 있습니다.


    사용방법

    Project Download

    우선 프로젝트를 Github에서 프로젝트를 다운로드 합니다.

     

    index.js

    Editor를 켜서 내부 파라미터를 수정합니다.

    본인이 원하는 구글 지도의 My Places List 링크가 필요합니다.

     

     

    console

    실행 커맨드를 사용하여, 프로젝트를 실행합니다.

     


    프로젝트 실행

    In Progress

    위의 설정을 한 뒤 실행을 하면, 자동화된 브라우저가 뜨면서 정보 가져오기 작업을 수행해나가기 시작합니다.

     

    my-places.csv

    작업이 완료되면, 자동으로 브라우저가 종료되며, 프로젝트 폴더에 csv 파일이 생성됩니다.

     

    Google SpreadSheet

    이 csv 파일을 엑셀에 가져오면 이미지와 같이 데이터 정렬이 자동으로 이루어집니다.

     

    현재 11개의 장소를 가진 내 장소 목록을 전부 가져오는데, 약 1분 30초가 소요되었습니다.

    개인적으로 저는 제가 사용하는 구글 지도에 내 장소 목록 중 가장 많은 수인 200여개 입니다. 이러한 많은 수의 목록을 가져오는 데는 아직은 느린 속도라고 생각합니다.

     

    Github Issues

    짧은 시간 내에 개발을 하다 보니, 부족한 부분이 많다고 느꼈습니다. 그래서 개인적으로 종종 사용할 수 있는 도구로서 더 개선이 필요하다고 생각하였습니다. 수정해야할 기능들을 Github Issues에 작성해놓고, 시간날때 종종 트래킹 하는 것으로 결정 하였습니다.

     

    뿐만 아니라, 현재 정보 가져오기 기능을 개선한 뒤에는 추후에는 정보 쓰기 기능(구글 지도 내 장소 등록)도 추가할 계획입니다.


    마무리

    프로젝트를 진행하면서 제일 고민했던 부분은, "내가 의도한 DOM 선택과 액션이 모든 사람에게 동일하게 작동할 것인가"에 대한 문제였습니다. 구글 지도의 DOM 구조가 변경되거나 명칭이 변경되거나, 또는 한글이 아닌 다른 언어로 노출되는 등 다양한 상황에서도 동일하게 동작하도록 고민을 하였습니다.

    아직 다양한 환경에서 테스트를 진행해보지는 않았지만, 더 많은 수정을 거쳐 보완해야 할 부분이라고 생각합니다. 

     

    또한, 사용 중에 추가로 원하는 기능이 생기거나 오류를 발견하신다면 Github에 이슈를 등록해주시기 바랍니다.

     

    GitHub - MoonJuhan/google-maps-my-places-crawler

    Contribute to MoonJuhan/google-maps-my-places-crawler development by creating an account on GitHub.

    github.com

     

    감사합니다.


     

    반응형

    댓글

Designed by Tistory. Customed by MJ.