웹 크롤링이란?
March 24, 2020
가공되지 않은 웹상의 수많은 정보들 중 필요하고 의미가 있도록 만든 정보를 찾는 데는 많은 시간이 필요하다. 복잡한 검색과정 없이 관련 정보를 쉽고 편리하고 찾을 수 있는 기술 크롤링에 대해 알아보자.
웹 크롤러(Web crawler)
조직적, 자동화된 방법으로 웹 상의 정보를 탐색하는 컴퓨터 프로그램
웹 크롤링(Web crawling)
- HTML 페이지를 가져와서 필요한 데이터만 추출하는 작업 (OPEN API를 활용)
- 웹문서, 이미지 등을 주기적으로 수집하여 자동으로 데이터베이스
- 사용자가 키워드를 검색하고 저장 및 가공 과정을 대신해주는 기술
웹 크롤러가 하는 작업, 스파이더링(spidering)이라고도 부른다. 한 페이지만 방문하는 것이 아니라 관련 링크된 또 다른 페이지를 차례대로 방문하고 링크를 따라 여러 웹을 돌아다니는 모습이 마치 거미와 비슷해서 스파이더라고 부르기도 한다. 검색 엔진 등 여러 사이트에서 데이터의 최신 상태를 유지하기 위해 웹 크롤링을 한다. 대체로 방문 사이트의 모든 페이지의 복사본을 생성하는데 사용되며 검색엔진은 이렇게 생성된 페이지를 보다 빠른 검색을 위해 인덱싱한다. 웹 문서 검색에는 자동으로 수집하도록 파이썬으로 구현 가능하다.
웹 크롤링으로 가져 올 수 있는 정보
- HTML 기반의 웹 사이트, 이미지, 문서
웹 크롤링 사용 예
- 코드 검증 등 자동유지관리 작업
- 자동 이메일 집 등 특정 형태 정보 수집
- 기업의 고객정보 및 마케팅 정보, 금융 데이터, 국내 지리정보
- 챗봇 구현, 빅데이터 분석 연구, 검색 서비스
- 주식 암호화폐 등 시세 정보 모니터링, 쇼핑몰 품 정보, 도서검색 시스템
robots.txt
크롤링을 잘 사용하면 좋지만 악용하여 정보를 무단으로 복제할 경우 지식재산권 침해 사례가 발생한다. 이를 방지하기 위해 웹 페이지마다 크롤링을 제한하는 규약이 표시되어 있다.
로봇 확인방법 : 웹사이트주소/robotx.tst
위 처럼 입력해보면 해당 사이트의 크롤링 허용 범위를 확인할 수 있다.