- 웹 로봇은 사람과의 상호작용 없이 연속된 웹 트랜잭션들을 자동으로 수행하는 소프트웨어 프로그램.
- 방식에 따라
크롤러
, 스파이더
, 웜
, 봇
등 다양한 이름으로 불림.
- ex) 주식 그래프 로봇, 웹 통계 조사 로봇, 검색엔진 로봇, 가격 비교 로봇
크롤러와 크롤링
- 웹 크롤러는 모든 웹 페이지들을 가져오는 일을 재귀적으로 반복하는 방식으로 웹을 순회하는 로봇임.
- 웹 페이지를 한 개 가져오고 그 다음 그 페이지가 가리키는 모든 페이지를 가져오고..
- 웹을 따라 기어다니기(crawl) 때문에
크롤러
, 또는 스파이더
라고 부름.
- 이 문서들은 검색 가능한 데이터베이스로 만들어짐 (검색 엔진 크롤러).
<aside>
👇 크롤러가 어떻게 동작하는지 더 자세히 알아보자.
</aside>
크롤러의 시작점
-
크롤러가 방문을 시작하는 URL들의 초기 집합을 루트 집합(root set)이라고 부름.
<aside>
💡 URL은 게이트웨이 애플리케이션임.
</aside>
-
루트 집합을 고를 때 웹페이지들의 대부분을 가져올 수 있도록 충분히 다른 장소에서 URL을 선택해야 함.

A, G, S가 루트 집합에 있다면 모든 페이지에 도달할 수 있음.
- 일반적으로 좋은 루트 집합은 크고 인기 있는 웹 사이트, 새로 생성된 페이지들의 목록, 그리고 자주 링크되지 않는 잘 알려지지 않은 페이지들의 목록으로 구성됨.
- 이에 따라 루트 집합에 새 페이지나 잘 알려지지 않은 페이지들이 추가되고 시간이 지남에 따라 성장하며 새로운 크롤링을 위한 시드 목록이 됨.
링크 추출과 상대 링크 정상화
- 크롤러는 웹을 돌아다니면서 꾸준히 HTML 문서를 검색하며, 검색한 각 페이지 안에 들어있는 URL 링크들을 파싱해서 크롤링할 페이지들의 목록에 추가해야 함.
- 또한 간단한 HTML 파싱을 통해 이들 링크들을 추출하고 상대 링크를 절대 링크로 변환할 필요가 있음.