Firecrawl MCP로 문갑도 소셜 키워드 1,000개 분석하기
한 국가의 인구 수를 보여주는 막대 차트
한국어 단어 구름
한 국가의 인구 수를 보여주는 막대 차트
한국의 인구 수를 보여주는 막대 그래프
배경
옹진군 문갑도의 관광 콘텐츠 전략을 세우려면 "사람들이 문갑도를 어떻게 말하고 있는지"를 알아야 했습니다. 네이버 블로그에 흩어져 있는 여행 후기, 태그, 키워드를 모아서 토픽 모델링과 워드클라우드로 분석하고 싶었는데 — 블로그를 하나하나 열어서 복사-붙여넣기? 상상만 해도 며칠짜리 작업이었습니다.
과정
1단계: Firecrawl MCP로 블로그 대량 수집 (10분)
Claude Code에 Firecrawl MCP를 연결하고 13개 검색 쿼리를 병렬 실행했습니다.
``` "문갑도 여행 후기 site:blog.naver.com" "문갑도 트레킹 등산 깃대봉 site:blog.naver.com" "문갑도 백패킹 캠핑 낚시 site:blog.naver.com" ... (총 13개 키워드 조합) ```
핵심은 scrapeOptions의 JSON 추출 기능이었습니다. 블로그 HTML 전체가 아니라 keywords, tags, date, summary만 구조화해서 뽑아냈습니다.
```json { "formats": ["json"], "jsonOptions": { "prompt": "Extract Korean keywords, tags, date from this blog post", "schema": { "keywords": [], "tags": [], "date": "", "summary": "" } } } ```
결과: 152건 블로그에서 키워드 1,095개 + 태그 1,483개 = 총 2,578개 수집.
2단계: 1,000 샘플 부트스트랩 + LDA 토픽 모델링 (5분)
수집된 키워드 분포를 기반으로 1,000개 가상 블로그 문서를 시뮬레이션(부트스트랩)하고, scikit-learn의 LDA로 6개 토픽을 추출했습니다.
```python # 실제 키워드 분포에서 1,000개 문서 리샘플링 simulated_docs = [] for _ in range(1000): doc_words = random.choices(keywords_pool, k=random.randint(5, 15)) simulated_docs.append(' '.join(doc_words)) ```
3단계: 시사점용 정책/뉴스 데이터 추가 수집 (10분)
키워드만으로는 "