크롤러는 다양하게 이용된다.

1단계 문제 이해 및 설계 범위 확정

웹 크롤러의 기본 알고리즘은 간단하다.

  1. URL 집합이 입력으로 주어지면, 해당 URL들이 가리키는 모든 웹 페이지를 다운로드 한다.
  2. 다운받은 웹 페이지에서 URL들을 추출한다.
  3. 추출된 URL들을 다운로드할 URL 목록에 추가하고 위의 과정을 처음부터 반복한다.

좋은 크롤러가 필요한 속성

  1. 규모 확장성
    1. 웹은 크기 때문에 병행성을 활용하면 보다 효과적으로 웹 크롤링 할 수 있다.
  2. 안정성
    1. 크롤러는 비정상적 입력이나 환경에 잘 대응 할 수 있어야 한다.
  3. 예절
    1. 크롤러는 수집 대상 웹 사이트에 짧은 시간 동안 너무 많은 요청을 보내서는 안 된다.
  4. 확장성
    1. 새로운 형태의 콘텐츠를 지원하기 쉬어야 한다.

개략적 규모 추정

면접관과의 질문/답변을 통해서 아래와 같은 규모 추정이 되었다고 가정한다.