메인 콘텐츠로 건너뛰기
웹 크롤러를 사용하면 웹사이트의 도메인 URL을 사용하여 웹사이트에서 자동으로 정보를 수집할 수 있습니다. 도메인 내에서 발견할 수 있는 모든 페이지는 자동으로 지식 기반에 추가됩니다. 콘텐츠가 자주 업데이트되는 웹사이트의 경우 주기적인 크롤링을 예약하여 새로 추가된 페이지의 최신 정보와 콘텐츠를 지식 기반에 추가할 수 있습니다. 또한 크롤링 패턴 내에서 특정 키워드나 경로를 지정하여 웹사이트의 특정 섹션만 추출할 수 있습니다.

크롤링 패턴

패턴은 단순한 URL 문자열 일치를 기반으로 크롤링되거나 처리되는 페이지에 대한 빠르고 쉬운 제한을 가능하게 합니다. 예를 들어, http://www.example.com/sports/heres-a-sports-article.html에서 “sports” 카테고리 내의 페이지만 크롤링하려면 /sports/ 크롤링 패턴을 지정할 수 있습니다(슬래시를 포함하면 정확도가 보장되고 URL의 다른 위치에서 “sports” 문자열과의 일치를 피할 수 있습니다). 크롤링 패턴을 사용하면 크롤링을 특정 하위 도메인으로 제한할 수 있습니다. 예를 들어 특정 도메인에서 시작하는 크롤링에서 원하지 않는 링크의 크롤링을 방지하기 위해 크롤링 패턴을 입력할 수 있습니다. 웹 크롤 구성에서 각 개별 패턴을 새 줄에 배치하여 여러 문자열과 일치하는 여러 패턴을 입력할 수 있습니다. 사용 가능한 크롤링 패턴은 다음과 같습니다:
캐럿 문자(^)를 사용하여 패턴 일치를 URL 시작 부분으로 제한합니다. 예를 들어 ^https://example.com 처리 패턴은 URL이 https://example.com으로 시작하는 페이지로만 처리를 제한합니다.
느낌표(!)를 사용하여 “부정 일치”로 페이지를 명시적으로 크롤링하거나 처리에서 제외합니다.
여러 패턴의 경우 부정 일치는 다른 크롤링 패턴을 재정의합니다(정규식은 예외로, 이는 다른 패턴보다 우선합니다).
크롤링 또는 처리 URL 일치에 대한 정밀한 제어를 위해 정규식(regex)을 생성하여 정의된 식과 일치하는 URL만 독점적으로 크롤링하거나 처리할 수 있습니다. 예를 들어 https://example.com/의 “/crawl” 경로 아래에 “regex” 용어가 포함된 페이지를 처리하려면 \\/crawl.*?regex와 유사한 처리 정규식을 사용할 수 있습니다. 크롤봇은 페이지 평가 시 최적의 성능을 위해 사용자 지정 정규식 엔진을 사용합니다. 크롤봇 파싱에 일반적으로 사용되는 문자 클래스 구문과 관련하여 크롤봇은 모든 ASCII 처리 문자와 대부분의 Perl/Tcl 단축키를 지원합니다.
크롤링 및 처리 정규식은 다른 크롤링 패턴과 동시에 사용할 수 없습니다. 둘 다 제공되면 정규식이 다른 크롤링 패턴을 재정의합니다.
크롤은 HTML 처리 패턴을 기반으로 처리되는 페이지를 제한할 수 있으며, 이는 크롤링 시 JavaScript/AJAX를 실행하지 않고 원본 소스만 검사합니다. 그러나 이 옵션의 단점은 크롤링 속도입니다. 더 빠른 크롤링 속도를 원한다면 정규식 크롤링 및 처리를 사용해야 합니다.

크롤러 사용 시점

크롤러는 웹에서 구조화되고 고품질의 정보를 추출하도록 설계되었습니다. 데이터가 공개적으로 사용 가능하고 정기적으로 업데이트되는 시나리오에서 가장 잘 작동합니다.

최적의 사용 사례

  • 뉴스 및 미디어 – BBC News와 같은 사이트에서 기사 추출
  • 금융 데이터 – NASDAQ과 같은 주식 사이트에서 시장 인사이트 수집
  • 전자상거래 – 마켓플레이스에서 상품 목록, 리뷰 및 가격 수집
  • 지식 리소스 – 블로그 게시물, 포럼 토론 또는 FAQ 콘텐츠를 캡처하여 지식 기반을 풍부하게 합니다.

크롤러를 사용하지 말아야 할 시점

오류나 규정 준수 문제를 방지하기 위해 이러한 상황에서는 크롤링을 피하세요:
  • 인증 필요 – 로그인 자격 증명이 필요한 웹사이트(예: LinkedIn).
  • 고도로 역동적인 대시보드 – 실시간 대시보드(예: 실시간 주식 시세)는 완전한 결과를 제공하지 못할 수 있습니다.
  • 과도한 사이트 부하 – 각 사이트의 사용 정책을 존중하세요–크롤링 전에 항상 robot.txt 파일을 검토하세요.

새 크롤러 만들기

  1. EKB 프로젝트에서 지식 기반으로 이동합니다.
  2. 지식 기반에서 오른쪽 상단의 톱니바퀴 아이콘을 클릭합니다.
  3. 크롤러 탭으로 이동합니다.
  4. + 새로 만들기를 클릭합니다.
  5. 입력 섹션:
    크롤러 입력 a. 크롤러의 이름을 입력합니다.
    b. 크롤링할 웹사이트에 대한 시드 URL을 제공합니다. 이는 크롤러에 의해 접근되는 초기 링크입니다. 여기서 크롤러는 웹사이트 내에서 사용 가능한 웹 페이지와 링크를 탐색합니다.
  6. 크롤러 설정 섹션:
    크롤러 설정
    • 루트 도메인으로 제한 – 크롤러가 루트 도메인에만 집중하도록 설정하여 관련 정보 추출을 간소화합니다.
    • 파일 다운로드 – 크롤링 중 발견된 파일을 다운로드하고 처리하려면 이 옵션을 활성화합니다.
    • 최대 크롤링 페이지 수 – 리소스 사용 및 효율성을 최적화하기 위해 크롤링할 최대 페이지 수를 설정합니다.
    • 최대 깊이 – 시드 URL에서 크롤링할 최대 깊이를 설정합니다(즉, 따라갈 링크의 깊이).
    • 크롤 전략 – 크롤러가 어떤 페이지를 먼저 방문할지 우선순위를 정하는 방법을 선택합니다.
      • 최적 우선 – 이 옵션을 선택하면 크롤러가 이러한 페이지를 찾기 위해 사용해야 하는 키워드와 이 키워드의 가중치를 구성해야 합니다.
        • 최적 우선용 키워드 – 이 텍스트 상자에 구성된 키워드가 포함된 페이지가 먼저 크롤링됩니다. 줄당 하나의 키워드를 입력합니다.
        • 키워드 가중치 – 키워드 일치를 위한 키워드 가중치를 구성합니다. 값이 높을수록 키워드 일치가 우선시됩니다.
      • 폭 우선 – 이 방법은 더 깊이 탐색하기 전에 현재 페이지에서 직접 연결된 모든 페이지를 먼저 방문하는 것을 우선시합니다.
      • 깊이 우선 – 이 방법은 다른 경로를 탐색하기 전에 단일 링크 경로를 따라 최대한 깊이 탐색하는 것을 우선시합니다.
    • 도메인으로 제한 – 루트 도메인 내의 모든 하위 도메인 대신 크롤러를 특정 도메인으로 제한합니다. 줄당 하나의 도메인을 입력하거나 비워 두면 모든 하위 도메인이 크롤링됩니다.
    • 패턴으로 제한 – 크롤러가 사용할 크롤링 패턴을 입력합니다. 줄당 하나의 크롤링 패턴을 입력합니다.
      여러 크롤링 패턴을 사용하는 경우 다음 계층이 적용됩니다:
      1. 정규식
      2. 부정 일치
      3. 모든 다른 패턴.
  7. 예약 섹션에서 예약된 크롤링의 빈도와 시간을 정의합니다:
    크롤러 예약
    • 크롤링 활성화 – 크롤링 예약을 설정하려면 이 옵션을 활성화합니다.
    • n일마다 반복 – 크롤링을 실행할 일수를 설정합니다. 예를 들어:
      • 매일 = 1
      • 매주 = 7
      • 격주 = 14
      • 매월 = 30
    • 다음 예약 – 입력한 일수에 따라 다음 크롤링 날짜가 표시됩니다.
  8. 웹 크롤 구성을 완료한 후 지금 크롤링을 클릭하여 첫 번째 크롤링을 시작합니다. 다음 탭이 포함된 새 크롤러 구성 페이지로 리디렉션됩니다:
    크롤러 개요
    • 개요 – 크롤링 요청 정보와 상태를 볼 수 있는 곳입니다.
    • 설정 – 크롤러 설정을 편집할 수 있는 곳입니다. 크롤링이 실행된 후에도 이 설정을 편집할 수 있습니다.
    • 크롤링 보고서 – 이 탭은 크롤링되는 페이지에 대한 실시간 업데이트를 제공합니다.
이제 크롤러가 구성되고 첫 번째 크롤링을 실행하고 있습니다!

모범 사례

이러한 모범 사례를 따르면 크롤러가 효율적으로 실행되고, 불필요한 중복을 피하며, 가장 관련성 높은 데이터만 지식 기반에 가져옵니다.

1. 명확하고 간결한 시드 URL 사용

추출하려는 웹사이트 섹션을 직접 가리키는 URL을 선택하세요.
  • 좋은 예시: https://www.example.com/news (“뉴스” 섹션만 대상)
  • 나쁜 예시: https://www.example.com?user=1234 (동적 매개변수를 사용하면 오류나 중복 크롤링이 발생할 수 있음)
항상 다음을 확인하세요:
  • URL에 접근 가능하고 추출하려는 데이터와 관련이 있는지 확인
  • 크롤링을 특정 섹션으로 제한하려면 하위 페이지 사용

2. 도메인 및 하위 도메인으로 제한

불필요하거나 관련 없는 데이터를 가져오지 않도록 크롤링을 집중하세요.
  • 루트 도메인으로 제한example.com을 크롤링하면 해당 도메인만 캡처하고 외부 링크(예: otherwebsite.com)는 무시합니다.
  • 도메인으로 제한blog.example.com을 크롤링하면 shop.example.com과 같은 다른 하위 도메인이 포함되지 않습니다.

예시

https://www.bbc.com을 크롤링할 때 루트 도메인으로 제한을 활성화하면 사이트에 링크된 외부 뉴스 소스가 아닌 BBC 콘텐츠만 포함됩니다.

3. 크롤링 및 처리 패턴 사용

패턴을 사용하여 크롤러가 가져오고 처리하는 것을 미세 조정할 수 있습니다.
  • 크롤링 패턴 – 어떤 URL을 크롤링해야 하는지 정의합니다.
  • 처리 패턴 – 어떤 콘텐츠를 지식 기반으로 추출해야 하는지 지정합니다. 둘 다 간소화된 정규식 구문을 사용합니다:
  • 암시적 와일드카드products를 입력하면 “products”가 포함된 모든 URL과 일치합니다.
  • 부정(!)!products는 “products”가 없는 모든 URL과 일치합니다.
  • 시작(^)^https://example.com/products/는 해당 경로로 시작하는 URL과 일치합니다.
  • 끝($)products/$는 “products”로 끝나는 URL과 일치합니다.

예시

  • 크롤링 패턴https://example.com/products/* > 모든 상품 페이지를 크롤링합니다.
  • 처리 패턴https://example.com/products/*reviews > 상품 페이지에서 리뷰만 추출합니다.

4. 예약된 크롤링 활성화 (필요한 경우)

동적 웹사이트의 경우 지식 기반을 최신 상태로 유지하기 위해 크롤링을 예약하세요.

예시

https://www.nasdaq.com에서 매일 크롤링을 활성화하여 주식 가격을 추적하세요.

5. 사이트맵을 사용하여 효율성 향상

사이트가 사이트맵(예: https://example.com/sitemap.xml)을 제공하는 경우 이를 활용하여 크롤러를 안내하고 완전한 범위를 보장하세요.

예시

최신 기사를 모두 나열하는 사이트맵이 있는 뉴스 웹사이트는 기사가 하나도 누락되지 않도록 보장합니다.