데이터 중복은 웹 스크래핑 작업에서 자주 발생하는 문제로, 특히 동적이거나 자주 업데이트되는 웹사이트를 다룰 때 흔합니다.
이 튜토리얼에서는 중복이 발생하는 원인, 해결 방법, 그리고 Octoparse 작업에서 중복을 예방하는 전략을 다룹니다.
데이터 중복의 원인
작업 설정 문제
실행 전 데이터 미삭제
같은 작업을 여러 번 실행하면서 이전에 수집된 데이터를 삭제하지 않으면 결과가 중복될 수 있습니다. Octoparse는 실행할 때마다 데이터를 누적 저장하므로 새 작업 실행 전에는 반드시 데이터셋을 비워야 합니다.
웹사이트 탐색 설정 오류
일부 웹사이트는 "더 보기" 버튼과 같은 방식으로 스크롤하면서 추가 콘텐츠를 표시합니다. 이런 버튼 처리가 제대로 설정되지 않으면 스크래퍼가 초기 로드된 데이터를 반복적으로 수집할 수 있습니다.
동적 웹사이트 업데이트
일부 웹사이트는 스크래핑 도중 콘텐츠나 순서를 변경합니다(예: 상품 목록, 채용 공고 등).
이 경우 동일한 항목이 다른 페이지나 위치에서 다시 나타나 중복 항목이 생길 수 있습니다.
예시:
원본 사이트에 반복된 항목이 존재함
스크래핑 작업이 동일 데이터를 여러 번 캡처함
Octoparse는 두 가지 방식으로 중복 데이터를 제거합니다. 이 도구들은 위에서 설명한 중복 원인을 해결하도록 설계되었습니다.
1. 전체 행 기준으로 중복 제거 (기본값)
모든 필드의 값이 완전히 동일한 행만 중복으로 간주합니다.
✅ 적합한 경우:
완전히 동일한 데이터만 제거하고 싶을 때
예시:
라인 | 필드1 | 필드2 | 필드3 | 결과 |
#1 | A | B | C | 유지 |
#2 | X | Y | Z | 유지 |
#3 | A | B | C | 제거 (1번 행과 동일) |
작동 방식:
중복된 행 중에 첫 번째 행은 유지
이후 동일한 행은 제거
2. 선택된 필드 기준으로 중복 제거 (v8.1.16 이후)
지정할 필드만 선택하여 중복 여부를 비교한 다음 중복으로 간주한 행을 제거할 수 있습니다.
✅ 적합한 경우:
고유 식별자(예: 상품 ID, URL)를 기준으로 중복 제거할 때
다른 필드(예: 가격, 리뷰)가 달라질 수 있는 경우
예시 1: 단일 필드 기준 중복 제거
🔹선택 필드: 필드 2
라인 | 필드1 | 필드2 | 필드3 | 결과 |
#1 | A | B | C | 유지 |
#2 | X | B | Z | 제거 (필드 2 중복) |
#3 | P | Q | R | 유지 |
예시 2: 다중 필드 기준 중복 제거
🔹선택 필드: 필드 3 + 필드 4
라인 | 필드3 | 필드4 | 결과 |
#1 | C | D | 유지 |
#2 | E | F | 유지 |
#3 | C | D | 제거 (1번 행과 동일) |
사용자 지정 중복 제거 설정 방법
작업을 구성하고 데이터 필드를 지정합니다.
데이터 미리보기 화면에서 ⚙️(기어 아이콘)을 클릭합니다.
비교할 필드를 선택합니다.
적용을 클릭해 설정을 저장합니다.
주의 사항
클라우드 실행 시
중복 제거는 동일한 설정이 적용된 같은 배치 내에서만 유효합니다.
설정을 변경하면 이전 배치와 비교되지 않습니다.
클라우드에서 동일한 작업을 새 데이터 없이 여러 번 실행할 경우, 이전에 수집된 항목이 다시 결과에 나타나 중복이 발생할 수 있습니다.
이런 중복을 방지하려면 작업을 재실행하기 전에 반드시 데이터를 삭제해야 합니다.
워크플로우 예시:
1차 실행: 필드 1 기준 중복 제거 → 배치 A
2차 실행: 필드 2 기준 중복 제거 → 배치 B (A와 비교되지 않음)
3차 실행: 필드 1로 복귀 → 배치 C (A와 비교됨, B는 제외)
프로 팁
🔹 중복 제거 시 고유 식별자(예: 상품 ID, URL)를 사용하는 것이 가장 안정적입니다.
🔹 클라우드 작업에서는 한 가지 중복 제거 설정을 유지하세요.
🔹 일부 중복만 유지하고 싶다면 전체 행 중복 제거 대신 필드 선택 방식을 사용하세요.
🔹 동적 웹사이트의 경우 설정을 충분히 테스트하여 중복이 없는지 확인하세요.
🔹 사이트 구조 변경 시 스크래퍼 설정을 주기적으로 업데이트하세요.
🔹 상품, 채용 공고 등 일반적인 케이스는 템플릿 갤러리의 검증된 템플릿을 활용하세요.
🔹 작업을 재실행하기 전에는 항상 데이터를 삭제하여 중복을 방지하세요.
중복 제거 설정을 세밀하게 조정하면 수동 정리 없이도 깨끗하고 정확한 데이터셋을 유지할 수 있습니다! 🚀