🚫 기시(忌詞) 검색어 크롤링이 왜 필요할까?
기시(忌詞)는 특정 플랫폼이나 커뮤니티에서 사용이 금지된 단어를 의미합니다. 콘텐츠 관리자나 마케터라면:
- ▶️ 자동 필터링 시스템 구축
- ▶️ 금지어 실시간 모니터링
- ▶️ 커뮤니티 규정 준수
를 위해 체계적으로 기시 단어를 수집해야 합니다. n8n으로 이 과정을 자동화하면 시간 90% 절약 ⏳ + 오류 최소화 🎯가 가능합니다!
🔧 필수 준비물
- n8n 설치
- 확장 노드 (선택)
HTML Extract
(설치 명령어:npm install n8n-nodes-html-extract
)
- 데이터 저장소
- Google Sheets, Airtable, Notion 등
🛠️ 단계별 크롤링 워크플로우 설계
(예시: 네이버 블로그 금지어 수집)
📌 Step 1: 대상 사이트 분석
대상 URL: https://search.naver.com/search.naver?query=기시단어
추출 요소:
- 검색 결과 제목 (CSS 선택자: `.api_txt_lines.total_tit`)
- 연관 검색어 (CSS 선택자: `.lst_related_srch._related_keyword_list .item`)
⚡ Step 2: n8n 워크플로우 구성
실제 구성 화면 예시
-
Schedule Trigger
- 주기적 실행 설정 (매일 9:00 AM) ⏰
{ "interval": "daily", "hour": 9 }
- 주기적 실행 설정 (매일 9:00 AM) ⏰
-
HTTP Request 노드
- Method: GET
- URL:
https://search.naver.com/search.naver?query=기시단어
- Headers:
User-Agent
설정 (크롤링 차단 회피)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
-
HTML Extract 노드
- Source: HTTP Request 노드의 HTML 출력
- Extraction Rules:
[ { "key": "titles", "selector": ".api_txt_lines.total_tit", "attribute": "text" }, { "key": "related_keywords", "selector": ".lst_related_srch._related_keyword_list .item", "attribute": "text" } ]
-
Function 노드 (데이터 가공)
// 중복 제거 + 배열 병합 const keywords = [ ...$item.json.titles, ...$item.json.related_keywords ].filter((v, i, a) => a.indexOf(v) === i); return [{ json: { uniqueKeywords: keywords } }];
-
Google Sheets 노드
- Spreadsheet ID: [구글 시트 ID]
- Range:
Sheet1!A:A
- Mode: “Append”
💡 고급 활용 팁
-
동적 페이지 크롤링
Puppeteer
노드로 JS 렌더링 페이지 대응{ "headless": true, "args": ["--no-sandbox"] }
-
IP 차단 회피
Delay
노드 추가 (요청 간 3초 간격)- Proxy 서비스 연동 (Bright Data 등)
-
금지어 분류 자동화
// Function 노드에서 욕설/은어 분류 const bannedCategories = { "욕설": ["@#$%", "&*!!"], "정치": ["ㅇㅇ당", "ㅁㅁ계"] };
⚠️ 반드시 주의할 점
-
법적 리스크
robots.txt
확인 (예:https://naver.com/robots.txt
)- 상업적 사용 전 사이트 이용약관 검토
-
에러 핸들링
IF
노드로 HTTP 상태 코드 확인{{ $json.statusCode }} === 200
Try-Catch
노드로 예외 처리
-
데이터 보안
- 민감 단어는 암호화 저장 (n8n + Vault 연동)
🎯 결론: 왜 n8n인가?
수동 크롤링 | n8n 자동화 |
---|---|
매일 2시간 소요 ⏳ | 초기 설정 후 무인 운영 🤖 |
누락 발생 多 | 정확도 99% ✅ |
코드 작성 필요 | 노코드/로코드 🧩 |
> ✨ 한 걸음 더: 추출한 기시 단어를 ChatGPT 노드와 연동해 AI 필터링 시스템 구축 가능!
> "{{ $json.keyword }}를 순화한 표현 3개 생성해줘"
n8n은 단순 크롤링을 넘어 데이터 가공 → 저장 → 활용까지 원클릭으로 해결하는 올인원 자동화 플랫폼입니다. 지금 바로 시작해보세요!
> 🔗 참고 자료
> – n8n 공식 문서
> – CSS 선택자 치트시트
> – 크롤링 법적 가이드라인 D