웹 크롤러

정의
웹 크롤러(English: web crawler, spider)는 인터넷에 연결된 웹 서버를 자동으로 순회하며 웹 페이지와 그에 포함된 파일(HTML, 이미지, 동영상 등)을 다운로드하고, 수집된 데이터를 색인화하거나 분석하기 위해 저장·처리하는 소프트웨어 프로그램을 말한다. 주로 검색 엔진이 웹 전체의 정보를 체계적으로 수집해 검색 결과를 제공하기 위한 사전 작업으로 활용된다.

개요

어원·유래
‘웹(Web)’은 전 세계 인터넷상의 하이퍼텍스트 문서 네트워크를 의미하고, ‘크롤러(Crawler)’는 “기어가다”라는 뜻의 영어 동사 crawl에서 파생된 명사로, 곤충이나 파충류가 땅을 기어다니는 모습을 비유해 자동으로 웹을 “기어다니는” 프로그램을 가리킨다. 영어권에서는 ‘spider’라는 별칭도 흔히 쓰이며, 이는 거미가 실을 따라 이동하며 먹이를 찾는 행동에 비유한 것이다. 한국어 표기 “웹 크롤러”는 이러한 영어 용어를 음역·번역한 형태이다.

특징

  • 탐색 전략: 깊이 우선(DFS), 너비 우선(BFS), 우선순위 기반(예: 페이지 중요도) 등 다양한 알고리즘을 적용할 수 있다.
  • 정책 준수: robots.txt 파일을 통해 사이트 관리자가 허용·제한한 영역을 자동으로 확인하고, 요청 빈도 제한(Politeness) 등을 적용해 서버에 과부하를 주지 않도록 설계된다.
  • 확장성: 대규모 웹을 처리하기 위해 분산 크롤링 프레임워크(예: Apache Nutch, Scrapy)와 클라우드 기반 인프라가 활용된다.
  • 데이터 정제: 수집된 원시 HTML은 중복 제거, 언어 정규화, 메타데이터 추출 등 후처리 과정을 거쳐 검색 엔진 인덱스나 머신러닝 데이터셋으로 변환된다.
  • 법적·윤리적 고려: 저작권, 개인정보 보호, 서비스 약관 위반 여부 등을 판단하여 합법적인 범위 내에서 운영해야 한다.

관련 항목

  • 검색 엔진(Indexing, Ranking)
  • 스파이더(Spider)
  • robots.txt
  • 데이터 마이닝(Data Mining)
  • 웹 스크래핑(Web Scraping)
  • 분산 시스템(Distributed Systems)
  • 크롤링 프레임워크(Scrapy, Apache Nutch)
둘러보기

더 찾아볼 만한 주제

    Copyright 2024 WIPIVERSE