본문 바로가기
정보검색론

웹 수집기(Web Crawler)

by 이농이능 2018. 1. 18.

 웹 수집기(Web Crawler)

웹스파이더, 웹로봇, 등으로 알려지기도 함


웹으로부터 페이지를 자동으로 수집하는 소프트웨어이며 , 웹 검색의 경우 페이지들은 나중에 색인과 탐색에 쓰이게 된다.

인터넷 상에서 돌아다니는 것은 아니고 별도에 위치한 웹 서버에게 문서 요청을 보내게 된다.


검색엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해서 웹 크롤링한다. 

웹 크롤러는 방문한 사이트의 모든 페이지의 복사본 생성하는데 사용되며 검색 엔진은 이렇게 생성된 페이지를 보다 빠른 검색을 위해서 인덱싱한다. (위키백과)



웹 수집기의 작동원리


출처 : http://www.zinicap.kr/archives/5273



검색엔진은 링크(link) 와 텍스트(text) 기반으로 인식한다. 크롤러가 방문한 웹 페이지에서 새로운 링크(link)를 발견하면 웹 서버에 데이터 정보를 요청하고 이때 웹 서버는 검색엔진에게 웹 페이지 정보를 보내는데 이것이 바로 메타태그가 포함된 사이트 정보이다.

크롤러는 그렇게 추가로 수집한 URL에서 단어와 문구를 분리하여 저장한다. 저장과정에서 각 단어와 문구에 가중치와 연관도를 부여하고 최종 결과값을 인덱스(색인)한다. 


*메타태그 란 :

 하이퍼텍스트 생성 언어 HTML 문서의 맨 위쪽에 위치하는 태그(tag)로 브라우저와 검색 엔진을 사용할 수 있도록 웹 문서의 정보를 포함하고 있다. 메타태그는 웹 페이지의 요약이라고 할 수 있다.  (출처 : http://www.designlog.org/2511045  )



 

웹 수집기의 활용


1. 일반 웹 탐색

대규모 검색엔진에 의해 의루어지는 형태인 일반 웹 검색, 한 주제나 나라, 언어로 분리되는 집합 내 종적 웹 탐색이 있다.


일반 웹 검색엔진을 위한 수집기는 범주(coverage) 면에서는 많은 질의에 대한 답을 할 수 있는 페이지를 수집, 

품질 면에서는 그 페이지들이 높은 품질을 가져야 함을 뜻한다.


종적(vertical) 웹 탐색을 위한 수집기는 웹의 특정 부분 집합에 중점을 둔다. 페이지의 부분집합은 지리적, 언어적, 주제별 등으로 다양하게 정의될 수 있는데 특정 사용자의 필요를 위한 내용을 제공할 수 있기 위함이다.


- 종적 수집(Vertical Crawling)

종적 수집은 비슷하거나 관련된 소재의 여러 자원에서 온 데이터를 모으는 데 사용된다. 

ex) 가게봇(shopbot) - 온라인 쇼핑 카탈로그에서 정보를 내려받는 등 쇼핑에 집중된 형태로 가격 비교를 위한 인터페이스를 제공하기 위해 설계된 수집기

뉴스수집기 - 뉴스 항목을 수집하여 항상 최신의 상태로 유지하는 것. 뉴스 모음이 생성되고 나면 뉴스 항목은 중복과 공통 주제를 감지해서 사용자에게 집단화된 형태로 보여주게 된다.

스팸봇 - 악의적인 목적으로 웹 페이지에 삽입된 전자우편 주소 수집을 목표로 하여 나중에 상업적 메세지를 전자 우편으로 보내는 데 사용된다. 


- 특정 형식의 종적 수집

화상, 음성, 영상 객체같은 데이터 형식의 세그먼트를 포함하는데 이런 경우 특정 데이터 형식에 제약된 모음을 수집하도록 조정된다. 

온라인 쇼핑 카탈로그에서 정보를 내려받는 등 쇼핑에 집중된 형태로 가격 비교를 위한 인터페이스를 제공하기 위해 설계된 수집기


2. 주제에 관한 수집(Topical Crawling)

특정 주제를 포괄하는 페이지나 객체를 위한 색인을 생성하는데 설계된 수집기이다. 주어진 주제에 정합하는 페이지로 수집기를 제약시켜 필요 이상의 페이지를 수집하는 것을 피한다.


3. 웹 특성 평가

웹 특성 평가는 효과적인 웹 검색엔진을 구축하기 위한 전제 조건. 수집기가 웹 특성 평가를 위해서 사용될 때 페이지의 시작 집합과 수집 시 새로운 페이지를 고르는 전략은 특성 평가의 결과에 깊게 영향을 미친다. 이와 관련해서 페이지중심 특성 평가의 노력은 페이지 크기와 기술, 마크업, 다른 웹 속성을 측정하는 데 목표를 두게된다. 

링크 중심 특성 평가에서는 수집을 위한 시작 URL의 선택이 매우 결정적인데 형편없이 선택된다면 웹의 거시적 구조의 관찰에 강한 왜곡이 나타날 수 있다. 


4. 미러링(Mirroring)

웹에서의 미러링은 웹 사이트의 일부나 전체를 보존하는 행위이다 .미러링의 의도는 서버의 부하를 분산하고 다른 네트워크의 사용자에게 빠른 접근을 제공하는 것이다.

       미러 사이트를 만들어 두었을 때의 장점은 트래픽 초과등으로 본관이 터졌을 때 대체할 사이트를 만들어 놓을 수 있다는 것

본관이 해킹이나 모종의 이유로 데이터가 날라갔을 때를 대비하여 실시간으로 미러 사이트가 백업을 할 수 있다는 점이다.

      또한 본관 사이트에 집중되었던 트래픽을 분산시킬 수 있다.

웹 아카이빙 - 페이지의 큰 집합을 폐기되는 것이 없게 미러를 유지하는 행위이며 각 페이지의 전체 역사가 기록된다. 


5. 웹 사이트 분석

웹 수집기는 웹 사이트를 분석하는 데 쓰일 수 있다. 

링크 유효성 검사(link validation) - 존재하지 않는 페이지에 대한 '끊어진 링크(broken link)'를 찾기 위해 페이지를 자동으로 스캔하는 것. 

코드 유효성 검사(code validation) - 각기 씌여진 언어에 따라 페이지와 스타일 시트, 스크립트 등이 유효한지 확인하는 것이다.





수집기의 분류(taxonomy)


수집기는 수집하는 목표가 다를 수 있다. 수집의 응용에 대해서 여러 쟁점이 존재한다.


신선도(freshness) - 몇몇 수집기에서 얻어지는 복사물이 최근 것이어야할 경우도 있고 오래된 복사물이어야할 경우도 있다.

품질(quality) - 몇몇 숮비기는 특정 웹의 높은 품질 부분을 목표로 하는 반면, 다른 수집기는 여러 품질 계층을 폭넓게 포함시키는데 더 관심을 가진다.

용량(volume) - 몇몇 수집기는 웹의 많은 부분을 보존하는데 관심이 있는 반면 다른 수집기는 품질과 신선도를 위해 양보다는 질에 신경을 쓰기도 한다.


미러 시스템은 페이지의 정확하고 완전한 보관을 위해 설계된 반면, 종적(vertical) 검색엔진이나 개인 수집기는 페이지의 고품질 모음과 내용 부분의 선호도 순위를 우선으로 한다. 



웹 페이지의 형태

수집기의 관점에서 웹 페이지의 형태에 따라 공용/사적 , 그리고 정적/동적 두 차원으로 나눌 수 있다.

사적 웹 - 비밀번호로 보호되는 페이지. 인트라넷의 경우가 해당. 이런 페이지는 색인화되지 않고 수집기가 볼 수 없다.

공용 웹 - 웹 수집기가 색인으로 만들 수 있는 부분이다.


정적 페이지 - 웹에 존재하는 페이지로 사용자가 요청하길 기다린다.

동적 페이지 - 웹 서버에 요청이 오기 전에는 존재하지 않는 페이지로 요청을 해석하고 요구에 의한 페이지를 생성한 후 사용자에게 되돌려준다. '숨겨진 웹(hidden web)'이라고도 불리며 색인이 만들어지기 어렵다. ex) 검색엔진에 의해 보여지는 결과 페이지.

대부분의 수집기는 동적 링크의 모든 것을 내려받을 수는 없다. 따라서 최대 깊이를 설정하고 있는데 5단계 정도면 사람들이 방문하는 페이지의 90% 이상을 포함시킬 수 있다.



'정보검색론' 카테고리의 다른 글

웹 크롤러의 구조와 구현  (0) 2018.01.19
카이제곱검정, F-척도  (0) 2018.01.18
텍스트 분류  (0) 2018.01.17
[파일구조] B tree 와 B+ tree  (0) 2018.01.16
hash 자료형  (0) 2018.01.16