빠른 시작
네이버 플레이스에서 장소를 검색하고 리뷰를 수집하는 가장 간단한 방법입니다.
네이버 지도에서 '대전 칼국수' 검색해서 상위 10개만 뽑아줘
placeId 1288902633 리뷰 최근 3페이지 수집해줘
'총각손칼국수' 리뷰를 2025년 이후 것만 모아줘
이 한 줄이면 스킬이 네이버 플레이스를 검색해 JSON 결과로 돌려줍니다.
활용 시나리오
장소 검색 → 리뷰 수집 연계
가장 전형적인 워크플로입니다. 먼저 search_places.py로 placeId를 확보한 뒤 collect_reviews.py로 리뷰를 긁어옵니다.
'대전 칼국수' 중 상위 5곳의 리뷰를 모아서 JSON으로 저장해줘
특정 place의 리뷰만 직접 수집
이미 placeId를 알고 있다면 검색 단계를 건너뛰고 바로 리뷰를 모을 수 있습니다.
placeId 1288902633의 리뷰를 5페이지까지 모아줘
증분 수집 (날짜 기준 중단)
최근 수집 시점 이후의 신규 리뷰만 받아 모니터링에 활용합니다.
'총각손칼국수' 리뷰를 2025-01-01 이후 작성된 것만 수집해줘
출력 옵션
| 옵션 | 설명 | 사용 시점 |
|---|---|---|
| stdout JSON | meta + places[] 또는 reviews[] 구조의 JSON을 표준출력으로 | 파이프·리다이렉션으로 즉시 가공 |
--output <파일> | 동일한 JSON을 파일로 저장 | 재실행·비교·아카이빙 |
places[] 필드 | placeId, 이름, 주소, 좌표, 카테고리 | 장소 메타데이터가 필요할 때 |
reviews[] 필드 | 작성일, 별점, 본문, 작성자 닉네임 | 리뷰 본문 분석·감성 집계 |
팁
--query+--max-pages조합: 가장 기본. 검색어의 상위 몇 페이지까지 모을지만 지정하면 됩니다.--place-id로 검색 단계 스킵: 이미 아는 장소라면collect_reviews.py --place-id 1288902633로 바로 리뷰만 받습니다.--stop-at-created로 증분 수집: 이전 수집 마지막 날짜를 기준으로 지정하면 그 이전 리뷰를 만나는 즉시 멈춰 호출 수를 크게 줄입니다.instant_search.py로placeId먼저 확보: 검색어가 애매할 때instant_search.py의 자동완성으로 정확한placeId를 찾은 뒤collect_reviews.py에 넘기는 게 안정적입니다.--max-pages는 작게 시작: 첫 실행은 1~2페이지로 출력 구조만 확인하고, 이후 대량 수집으로 확장하면 시행착오를 줄일 수 있습니다.- JSON은
jq로 가공:python3 scripts/search_places.py --query ... | jq '.places[] | {name, placeId}'처럼 바로 정제할 수 있습니다.
⚠️ 주의사항
- 네이버의 rate limit에 걸리지 않도록
--max-pages를 과하게 올리거나 병렬·연속 호출을 남용하지 마세요. - 결과 스키마는 네이버 플레이스 응답 구조를 따르므로, 필드명이 바뀌면
meta부터 확인해 조정해야 합니다. - 본 스킬은 개인 분석·모니터링 용도입니다. 상업적 재배포나 대규모 반복 수집은 네이버 약관 위반 소지가 있으니 삼가세요.
- 로그인 필요 영역(저장한 장소, 내 리뷰), 이미지·사진 파일 다운로드, 모바일 앱(nmap://) 전용 페이지, 실시간 스트리밍/Push는 지원하지 않습니다.