이번 글에서는 구글 검색엔진의 작동과정 중 하나인 크롤링(crawling)이 어떠한 것인지에 대하여 말씀드리겠습니다.
# 크롤링(crawling)의 사전학적 정의
크롤링(crawling)은 그 단어의 뜻만을 들여다본다면 페인트 등의 얼룩을 칠하는 것을 의미합니다. 크롤링의 컴퓨터 공학적인 정의는 어떠한 주체가 보유한 수많은 컴퓨터가 무수히 많은 컴퓨터에 분산 저장되어 있는 문서를 수집하여 색인으로 포함시키는 기술을 의미합니다.
- 즉, 색인으로 가기위한 하나의 과정이자 웹페이지가 타인과 상호작용 할 수 있게 해주는 가교의 시작점입니다.
# 크롤링의 중요성
크롤링은 위에서 언급했듯이 웹페이지들이 타인과 상호작용하기 위한 가교의 시작점입니다. 우리가 ‘ 검색 ’ 이라는 행위를 할 수 있는 것은 이 크롤링기술이 있기 때문입니다. 만약, 우리에게 ‘검색’이라는 수단이 없다면 우리는 페이지를 이동하고자 할 때에 일련의 html 코드로 이어져 있지 않은 웹페이지로의 이동은 수동적인 주소 입력으로만 이루어질 것입니다.
크롤링은 무수히 많은 웹페이지들의 정보(이미지, 텍스트, 동영상, 위치 등을 포함한 광범위적 의미)를 찾아 내는 것이며, 우리가 아는 유명한 검색 사이트들(구글, 빙, 네이버, 다음 등)은 이러한 크롤링 기술이 검색 기술의 대부분을 이룬다고 보시면 됩니다.
- 따라서, 크롤링의 중요성은 나날이 발전해가며 중요도 또한 나날이 커져가고 있습니다. 또한 이러한 기술의 발전은 새로운 검색사이트의 진입을 막는 진입장벽으로서의 역할을 합니다.
# 크롤링의 과정
크롤링이라는 기술 자체가 광범위하고 전문적인 것을 의미하지는 않습니다. 자동화된 방법을 통하여 수집, 분류 및 저장할 수 있는 능력을 가지고 있다면 개인 또한 크롤링이라는 행위를 할 수 있지만, 그것이 검색 사이트의 크롤링에 비교될 수는 없기에 오늘날의 크롤링을 부르는 의미는 대부분 광범위하고 전문적인이라는 형용사가 앞에 붙는다 보시면됩니다.
먼저, 크롤링은 컴퓨터 세상속에 무질서하게 뿌려져 있는 웹 페이지를 찾아내고 웹페이지의 무질서하게 뿌려져 있는 정보들을 수집합니다. 이러한 행위를 하는 소프트웨어를 크롤러라고 부릅니다. 크롤러는 인터넷 세상을 돌아다니며 무수히 많은 링크(hyper text)를 찾아내어 링크의 링크를 타고 돌아다니며 정보를 반복적으로 수집하며 그 위치와 속성을 기록하는 것입니다.
위에서 언급했듯이 링크의 링크를 타고다니며 행해지는 크롤링의 속성은 간혹 악용될 수도 있으며 크롤러의 의도와는 다르게 지식 재산권 침해등으로 이어지는 불순한 문제가 생길 수도 있습니다. 이에 따라서 생겨난 것이 “이 페이지 내에서 크롤링의 법칙”을 말하는 robots. txt를 웹페이지들이 설정을 해놓는 것입니다. 이는 robots.txt가 모든 웹페이지에 포함되어 있는 이유입니다.
- robots.txt가 아닌 noindex 메타 태그를 이용하기도 합니다.
여기까지 구글 검색엔진의 작동과정 중 하나인 크롤링(crawling)이 어떠한 것인지에 대하여 다루었습니다.
댓글