프로젝트/관련 스터디 기록

네이버 지도 즐겨찾기한 장소 엑셀 파일로 추출하기

단ee 2025. 1. 16. 12:57

오늘 포스팅 주제는 네이버 지도에 즐겨찾기로 저장한 장소 리스트를 엑셀로 저장하는 방법이다.

다른 블로그 글 참고해서 작업했는데, 내가 한 방법도 기록할 겸 작성.

 

가장 메인이 되는 블로그는 여기(열이아빠님 블로그)

그리고 위 블로그를 참고한 다른 블로그(김홍시님 블로그)

 

두 블로그의 내용을 보고 활용했다.

 


 

이 작업의 핵심은

1. 네이버 지도에 저장된 데이터를 2.JSON 파일로 다운 받고 3.다운 받은 JSON 데이터를 엑셀 형식으로 변환하기

이렇게 세 단계이다.

 

이 작업의 결과물로

네이버 지도 즐겨찾기에 저장한 1.장소명, 2.경도 및 위도,  3.주소, 4.폐업 여부 등의 정보를 얻을 수 있다.

 

 

필요한 지식/환경 세팅은

 

1. 네이버에 로그인된 브라우저

2. 구글 크롬 설치 및 구글 계정 준비

 

이 두 개 뿐이고, 파일 변환을 위해 파이썬으로 아주 약간의 코딩을 할 거지만 아래 소개된 순서대로 클릭만 하면 된다!

다만 참고한 원본 블로그에서 저장된 데이터를 JSON으로 출력하는 url이 변경될 경우, 아래 방법은 사용이 어려울 것이다...

따라서 현 시점에만 가능하다는 것과 python으로 JSON 데이터 가공한 코드만 참고해도 좋을 것 같다. 

 

 

1. 네이버 지도에 저장된 데이터 확인

이 부분은 원리를 정확하게 알기 어려워서(API로 호출하는 url 구조를 변형한 것 같은데 자세히는 모르겠다...),

자세한 내용은 원본 포스팅을 참고하면 좋을 것 같다.

 

1. 엑셀로 변환하려는 즐겨찾기 폴더의 ShareID 찾기
https://pages.map.naver.com/save-pages/api/maps-bookmark/v3/folders?start=0&limit=20&sort=lastUseTime&folderType=all

 

 

네이버에 로그인한 상태로, 위 url에 들어가면 JSON 형태의 텍스트가 나열된 것을 볼 수 있다. 

 

그 중에서 엑셀로 변환하고 싶은 폴더의 이름을 찾은 뒤, 동일한 대괄호([]) 안에 들어있는 shareId 부분을 찾아 복사한다. 

큰 따옴표("")안에 들어있는 부분을 전부 복사해야 한다.

 

 

2. 아래 url의 {shareId} 부분에 1번에서 복사한 부분 넣어주기
https://pages.map.naver.com/save-pages/api/maps-bookmark/v3/shares/
{shareId}/bookmarks?start=0&limit=5000&sort=lastUseTime 

 

나는 tea라는 폴더를 사용했고, shareId는 아래처럼 빨간 박스로 표시한 영역에 입력하면 된다.

url에 중괄호({}) 나 큰따옴표("")를 같이 입력하지 않도록 주의!

 

 

2. JSON 파일로 데이터 다운로드 받기 

 

위의 url 접속 화면에서 마우스 우클릭 한 다음, 다른 이름으로 저장 하기

 

3. JSON 데이터 엑셀 형식으로 변환하기

 

Python으로 데이터 형식만 변환할 거라서, Colab 사용이나 python 사용에 익숙하다면 그냥 아래 더보기의 코드 참고를,

아니라면 하단 단계 별로 따라서 진행하면 된다.

 

더보기
import pandas as pd
import json

path = "YOUR DRIVE PATH"

#  JSON 모듈을 사용해 data load
with open(path, 'r', encoding='utf-8') as file:
    data = json.load(file)

#  추출할 부분의 key값 확인 : bookmarklist가 필요하다.
data.keys()

#  필요한 부분 추출하여 DataFrame 변환
extracted_data = data["bookmarkList"]
df = pd.DataFrame(extracted_data)

#  DataFrame 엑셀 변환
df.to_excel('naver_map_record.xlsx', index= False)

 

 

 

2번에서 다운받은 JSON 데이터와 아래 파일을 다운로드 받은 뒤, 구글 드라이브에 업로드한다.

 

naver_map.ipynb
0.00MB

 

 

그리고 아래 사이트에 접속한다.

 

 

colab.google

Colab is a hosted Jupyter Notebook service that requires no setup to use and provides free access to computing resources, including GPUs and TPUs. Colab is especially well suited to machine learning, data science, and education.

colab.google

 

 

사이트에 들어가면 아래와 같은 화면이 나타나고, Open Colab 선택

 

 

 

 

구글 드라이브에서 다운로드 받은 파일을 찾아 연다.

 

 

 

 

그 다음, 구글 드라이브 마운트를 해주어야 우리가 변환하려는 JSON 파일을 읽어올 수 있다. 

왼쪽 메뉴 바에서 제일 아래 있는 폴더 그림 클릭 후 오른쪽 세 번째의 구글 드라이브 모양 아이콘을 눌러준다.

 

 

 

 

그럼 아래와 같이 권한 허용 여부를 묻는 창이 나오고, Google Drive에 연결을 클릭한다. 

 

 

 

 

그럼 구글 드라이브에 들어있는 파일을 목록으로 확인할 수 있는데, 그 중에서 JSON 파일을 찾아 오른쪽 클릭, 경로 복사를 누른다. 

 

 

 

그리고 복사한 경로를 YOUR DRIVE PATH 부분에 붙여넣기 한다.

이 때, 따옴표('')가 없어지지 않도록 주의!

 

 

 

import로 시작하는 맨 첫 번째 칸을 더블클릭하고 shift + enter를 세 번 누른다. 

 

코딩까지 완료! JSON에서 엑셀 형식(xslx)으로 변환된 파일이 드라이브 같은 위치에 자동으로 저장된다.

이제 저장된 엑셀 파일의 정보를 자유롭게 가공하면 된다!

 

 


덧붙여,

 

추출한 데이터를 보니 정작 내가 필요한 부분이 많지 않아서... open API나 다른 방법을 이용해서 장소 정보 데이터 추출하는 방법을 추가적으로 찾아볼 생각이다.

 

또 pd.read_json()을 사용하지 않은 이유는 단순히 오류가 나기 때문이다.

원본 데이터를 열어보면 series와 dict가 불규칙적으로 나열되어 있어, pandas의 메서드로는 직접적인 가공과 조작이 어려웠다.

 

혹시 내가 놓친 다른 방법이 있다면 소개해 주시길!! 새로운 정보는 언제나 환영이다.