프로젝트 목록
📍

Naver Place Collector

업종별 B2B 타겟 업체 DB 수집·판정 SaaS

영업팀이 업종 프로필(키워드·카테고리·필터)과 지역을 지정하면, 비동기 파이프라인이 검색 → 상세 → 리뷰·활동성 판정 → 노출·체인 분류 → 스코어링까지 단계별 병렬 처리해 등급화된 영업 타겟 DB를 산출합니다. 장시간 수집의 차단은 TLS 핑거프린트 위장과 동적 프록시 풀로 견딥니다.

Naver Place Collector 스크린샷

Case

문제 → 해결 → 결과

Problem
업종별 B2B 영업 타겟을 네이버 플레이스에서 모으려면 장시간(24시간+) 수집이 필요한데, 한 서버 IP로 계속 조회하면 속도 제한·봇 탐지로 IP가 통째로 차단돼 잡 전체가 재시작됩니다.
AX Intervention
차단 회피는 기본으로 깔되(아래 세 규칙), 진짜 가치는 모은 업체를 영업 등급으로 판정하는 쪽에 뒀습니다. ① 공식 API용 클라이언트와 크롤링용 클라이언트를 분리하고, 크롤링은 TLS 핑거프린트(JA3)를 위장하는 라이브러리로 봇 탐지를 우회했습니다. ② 동시 워커 수를 고정 상수가 아니라 가용 IP 풀 크기 기반으로 동적 산출해 IP 고갈을 막았습니다. ③ 세션 교체 시점을 요청 수가 아니라 wall-clock 랜덤(분 단위)으로 바꿔 예측 가능하게 만들어 반복 차단을 줄였습니다.
Outcome
장시간 수집의 차단 문제를 구체적 회피 규칙으로 풀어, 검색→활동성 판정→노출·체인 분류→등급(A/B/C/F) 스코어링까지 자동화하고 이전 수집 대비 증감까지 추적하는 영업 타겟 DB SaaS로 운영 중입니다.

Tech Stack

Next.js 15FastAPIARQ + Rediscurl_cffiPostgreSQL

Features

주요 기능

01

검색·상세수집·리뷰·활동성·카페/블로그 노출·체인 분류·스코어링 다단계 파이프라인을 병렬 처리·중간 실패 재개

02

최신 리뷰 날짜로 active/inactive/unknown 활동성 자동 판정

03

업종 프로필 키워드·카테고리 include/exclude 토큰 매칭으로 관련성 필터링

04

플랫폼별 90일 활동(리뷰·카페·블로그·단골) 합산 점수로 A/B/C/F 등급 부여

05

네이버 차단 회피 — curl_cffi로 TLS(JA3) 핑거프린트 위장 + 키워드·세션·딜레이 랜덤화

06

가용 IP 수 기반 동적 워커 풀(min(stage_cap, pool.size))로 IP 고갈 방지

07

이전 수집 대비 신규·증가·감소 delta 추적으로 영업 인사이트 제공

08

Raw 수집 데이터와 영업용 DB를 2시트로 동시 산출

하이라이트

차단 회피 수집 + 활동성·등급 자동 판정

2026