반응형

 

요즘은 파이썬 프로그램을  통해서 크롤러 개념이 많아졌다.

검색엔진별로 크롤러가 어떻게 움직이는지 알아보자

 

검색엔진의 크롤링이란?

크롤링이란 검색엔진 웹 크롤러가 웹사이트의 방문하여 페이지를 다운로드하고 링크를 추출하여 다양한 페이지를 수집하는 과정을 말한다. 크롤링은 주기적으로 진행되어 특정 변화가 신규 크롤링을 통해 발견되면 재추 출하여 검색엔진에서 새롭게 색인하게 된다.

 

검색엔진의 크롤링은 어떻게 작동이 되고 있을까?

모든 검색엔진은 자신들만의 크롤러를 사용해서 웹페이지를 발견하는데 그 과정에서 robot.txt 파일을 다운로드한다. 티스토리를 설정하는데 같은 파일을 업로드해놓기도 한다. robot.txt 파일은 크롤링해야 하는 웹사이트 정보의 관한 룰과 전체 웹페이지 URL을 포함하고 있는 사이트 맵 정보를 전달하게 된다.

검색엔진은 수많은 알고리즘을 통해 페이지가 얼마나 잦은 주기로 얼마나 많은 페이지가 색인되어야 하는지를 결정하는 데 있어 일정 주기로 사이트에 변화가 많은 웹사이트는 크롤링에 따른 색인 작업이 자주 발생하게 된다.

 

크롤러는 어떻게 웹사이트에 접근하고 인지 될까?

모든 검색엔진은 User Agent String이라는 일정한 규칙을 통해 웹서버를 통과하여 각 웹페이지들을 가지고 오게 된다.

검색엔진 봇은 고유의 IP 어드레스 기반으로 해당 클롤러임을 확인이 되어서 웹서버가 통과시켜서 정보를 가지고 온다.

 

Chrome for Android 예시
Mozilla/5.0 (Linux; {Android Version}; {Build Tag etc.})
AppleWebKit/{WebKit Rev} (KHTML, like Gecko)
Chrome/{Chrome Rev} Mobile Safari/{WebKit Rev}

 

크롤러의 관점

사용자는 자연스럽게 한 페이지가 나온 이미지 텍스트나 동영상을 한눈에 보이지만  크롤러의 관점은 페이지의 소스코드를 해석한다. 해당 페이지를 이탈하기 전까지 소스코드의 각 라인을 읽으면서 생인 할만한 정보를 탐색하고 이미지와 같은 영상은 대체 정보(Alt Text 등)의 이름으로 참조한다.

 

검색엔진 로봇에 의한 정보 수집 과정

검색엔진은 크롤링(Crawling), 색인(Indexing), 정렬(Sorting)의 3단계로 동작을 한다.

  1. 크롤링(Crawling) : 특정 웹페이지를 방문하여 해당 내용을 읽고 타 페이지의 연결되는 링크 정보도 수집한다.
  2. 색인(Indexing) : 크롤러가 발견한 모든 검색엔진 데이터 베이스에 저장하여 색인(Indexing)된다. 
  3. 정렬(Sorting) : 색인(Indexing) 된 정보는 검색 알고리즘의 수학적인 계산을 통해 정렬이 되고 이후 검색 시 즉각적으로 호출되도록 동작한다. 연관성이 높은 페이지가 검색 결과의 상단에 제공된다.

 

각 사이트의 아래 robot.txt 파일을 업로드를 해야 하며 sitemap.xml 파일을 지정하게 된다면 검색엔진 로봇에 의해 수집이 되는 것이다.

 

검색엔진 로봇의 목표

  • 높은 퀄리티에 검색 결과 페이지를 만들어 내는 것
  • 사용자가 요청한 질문에 대한 만족도를 최대한 빠르게 높이는 것
  • 사용자가 다양한 리스트의 옵션 중에서 페이지를 선택하게 되면 습득을 하게 된 후에 추후 검색 결과에 미치게 된다.
  • 국내에 네이버는 구글과 다르게 해당 플랫폼 내에서의 이탈이 발생하지 않으면서 연관성이 높은 검색 결과를 전달한다.
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기