웹 크롤러란 무엇인가요?

웹 크롤러는 인터넷 인프라의 핵심 요소이며 웹 스크래핑의 첫 단계 중 하나입니다. 본 문서에서는 다음을 다룹니다: 웹 크롤러 정의 웹 크롤러는 인터넷을 스캔하여 발견한 데이터를 다운로드하는 소프트웨어 로봇입니다. 대부분의 웹 크롤러는 Google, Bing, Baidu, DuckDuckGo와 같은 검색 엔진에서 운영합니다. 검색 엔진은 수집된 데이터에 자체 검색 알고리즘을 적용하여 검색 엔진 색인을 생성합니다. 이 색인을 통해 검색 엔진은 사용자의 검색 쿼리에 기반하여 관련성 높은 링크를 제공할 수 있습니다. 특정 목적을 수행하는 웹 크롤러도 존재합니다 […]
1 분 읽기
Robot managing servers connected to the internet.

웹 크롤러는 인터넷 인프라의 핵심 요소이며 웹 스크래핑의 첫 단계 중 하나입니다. 본 문서에서는 다음을 다룹니다:

  • 웹 크롤러 정의
  • 웹 크롤러 작동 방식
  • 웹 크롤러 예시
  • SEO에 웹 크롤러가 중요한 이유
  • 웹 크롤러가 직면한 과제

웹 크롤러 정의

웹 크롤러는 인터넷을 스캔하고 발견한 데이터를 다운로드하는 소프트웨어 로봇입니다. 대부분의 웹 크롤러는 Google, Bing, Baidu, DuckDuckGo와 같은 검색 엔진에서 운영합니다. 검색 엔진은 수집한 데이터에 자체 검색 알고리즘을 적용하여 검색 엔진 색인을 생성합니다. 이 색인을 통해 검색 엔진은 사용자의 검색어에 기반하여 관련 링크를 제공할 수 있습니다.

검색 엔진 이외의 목적을 위해 사용되는 웹 크롤러도 있습니다. 예를 들어, 인터넷 아카이브의 ‘웨이백 머신 ( Way Back Machine) ‘은 과거 특정 시점의 웹사이트 스냅샷을 제공합니다.

웹 크롤러는 어떻게 작동할까?

구글의 구글봇과 같은 웹 크롤러는 매일 크롤링할 웹사이트 목록으로 하루를 시작합니다. 이를 크롤링 예산이라고 합니다. 이 예산은 페이지 색인화 수요를 반영합니다. 크롤링 예산에는 두 가지 주요 요소가 영향을 미칩니다: 인기와 오래됨입니다. 인터넷에서 더 인기 있는 URL은 색인에서 더 최신 상태를 유지하기 위해 더 자주 크롤링되는 경향이 있습니다. 웹 크롤러는 또한 URL이 색인에서 오래되지 않도록 방지하려고 시도합니다.

웹 크롤러가 사이트에 접속하면 먼저 robots.txt 파일을 다운로드하여 읽습니다. robots.txt 파일은 로봇 배제 프로토콜(REP)의 일부로, 로봇이 웹을 크롤링하고 콘텐츠에 접근 및 색인화하며 사용자에게 해당 콘텐츠를 제공하는 방식을 규제하는 웹 표준 집합입니다. 웹사이트 소유자는 사이트에서 어떤 사용자 에이전트가 접근할 수 있고 접근할 수 없는지를 정의할 수 있습니다. robots.txt는 크롤러가 웹사이트에 요청하는 속도를 조절하기 위해 crawl-delay 지시문도 정의할 수 있습니다. 또한 robots.txt는 사이트와 연관된 사이트맵을 나열하여 크롤러가 모든 페이지와 마지막 업데이트 시점을 찾을 수 있도록 합니다. 페이지가 마지막 크롤러 방문 이후 변경되지 않았다면 이번에는 건너뜁니다.

웹 크롤러가 최종적으로 크롤링 대상 페이지에 도달하면, 브라우저에서 해당 페이지를 렌더링하며 모든 HTML, 제3자 코드, 자바스크립트, CSS를 로드합니다. 이 정보는 검색 엔진 데이터베이스에 저장된 후 나중에 페이지 색인화 및 순위 결정에 활용됩니다. 또한 페이지 내 모든 링크를 다운로드합니다. 검색 엔진 색인에 아직 포함되지 않은 링크는 추후 크롤링할 목록에 추가됩니다.

robots.txt 파일의 지침 준수는 자발적입니다. 대부분의 주요 검색 엔진은 robots.txt 지침을 따르지만 일부는 그렇지 않습니다. 스패머나 봇넷 같은 악의적인 행위자들은 robots.txt 지침을 무시합니다. 인터넷 아카이브 같은 일부 합법적인 웹 크롤러조차도 robots.txt를 무시하기도 합니다.

웹 크롤러 예시

검색엔진에는 여러 유형의 웹 크롤러가 있습니다. 예를 들어 Google은 17가지 유형의 봇을 운영합니다:

  • APIs-Google
  • 애드센스
  • AdsBot 모바일 웹 안드로이드
  • 애드봇 모바일 웹
  • Googlebot 이미지
  • Googlebot 뉴스
  • Googlebot 비디오
  • Googlebot 데스크톱
  • Googlebot 스마트폰
  • 모바일 앱 Android
  • 모바일 애드센스
  • 피드페처
  • Google 소리내어 읽기
  • 웹에서 Duplex
  • Google 파비콘
  • 웹 라이트
  • Google StoreBot

웹 크롤러가 SEO에 중요한 이유

SEO의 목표는 사용자가 관련 검색어를 입력했을 때 콘텐츠가 쉽게 노출되도록 하는 것입니다. 크롤링과 색인화되지 않은 콘텐츠는 구글이 순위를 매길 수 없습니다.

웹 크롤러는 다른 영역에서도 도움이 될 수 있습니다. 전자상거래 사이트는 종종 경쟁사 사이트를 크롤링하여 제품 선택과 가격을 분석합니다. 이러한 유형의 데이터 수집은 일반적으로 “웹 크롤링이 아닌 웹 스크래핑“으로 알려져 있습니다. 웹 스크래핑은 특정 HTML 데이터 요소에 초점을 맞춥니다. 웹 스크레이퍼는 매우 집중적인 반면, 웹 크롤러는 광범위하게 그물을 던져 모든 콘텐츠를 수집합니다. 사용자 측면에서는 SERP 데이터를 크롤링하고 스크레이핑하는 데 도움이 되는 SERP API 도구도 있습니다.

웹 크롤러가 직면하는 과제

웹 크롤러가 직면할 수 있는 여러 가지 도전 과제가 있습니다.

도전 과제 설명
Robots.txt 제한 웹 크롤러가 robots.txt 제한을 준수하는 경우, 특정 웹 페이지에 접근하지 못하거나 임의의 제한을 초과하는 요청을 제출하지 못할 수 있습니다.
IP 차단 일부 웹 크롤러는 robots.txt 제한을 준수하지 않으므로, 웹 크롤링을 제한하기 위해 여러 가지 다른 도구를 구현할 수 있습니다. 웹사이트는 사기꾼이 사용하는 무료 데이터 프록시나 특정 데이터 센터 IP 주소처럼 악의적인 것으로 알려진 IP 주소를 차단할 수 있습니다.
지리적 위치 제한 일부 웹사이트는 방문자가 특정 지리적 지역에 위치해야만 웹사이트 콘텐츠에 접근할 수 있도록 요구합니다. 대표적인 예로 미국 외 지역에서 넷플릭스 미국 콘텐츠에 접근하려는 시도가 있습니다. 대부분의 지리적 제한은 주거용 프록시 네트워크를 사용하여 극복할 수 있습니다.
CAPTCHA 일부 웹사이트는 의심스러운 출처에서 대량의 활동이 감지될 경우, 요청 뒤에 실제 사람이 있는지 확인하기 위해 CAPTCHA를 표시합니다. CAPTCHA는 웹 크롤러의 활동을 방해할 수 있습니다. 많은 웹 스크래핑 솔루션은 이러한 유형의 차단을 극복하기 위한 도구와 기술을 보유하고 있습니다. 이러한 차단 해제 도구들은 종종 CAPTCHA 해결 솔루션을 활용합니다.

요약

웹 크롤러는 인터넷 인프라의 핵심 요소입니다. 검색 엔진이 검색 인덱스를 구축하는 데 필요한 데이터를 수집할 수 있게 하여, 사용자의 쿼리에 대한 검색 결과를 제공할 수 있도록 합니다. 많은 기업들이 연구를 지원하기 위해 웹 크롤러를 고려합니다. 실제로는 아마존, 아디다스, 에어비앤비 목록처럼 한두 개의 사이트에만 집중하는 경우가 많습니다. 이러한 사용 사례에서는 Bright Data의 웹 스크레이퍼 API 같은 도구가 그들의 요구에 더 적합합니다.