최근 수정 시각 : 2024-10-07 19:44:21

크롤링


1. 개요2. 관련 소프트웨어3. SaaS(Software as a Service)4. 합법5. 관련 문서

1. 개요

크롤링(crawling)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 크롤링하는 소프트웨어는 크롤러(crawler)라고 부른다.

스크래핑과 헷갈릴 수 있는데, 크롤링은 동적으로 웹페이지를 돌아다니면서 수집하는 것을 말한다. 물론 실생활에서는 구분 없이 쓰는 경우가 많다.

검색 엔진에서도 유사한 것을 필수적으로 사용하는데, 상의 다양한 정보를 자동으로 검색하고 색인하기 위해 사용한다. 이때는 스파이더(spider), 봇(bot), 지능 에이전트라고도 한다. 사람들이 일일이 해당 사이트의 정보를 검색하는 것이 아니라 컴퓨터 프로그램의 미리 입력된 방식에 따라 끊임없이 새로운 웹 페이지를 찾아 종합하고, 찾은 결과를 이용해 또 새로운 정보를 찾아 색인을 추가하는 작업을 반복 수행한다. 방대한 자료를 검색하는 특징은 있으나 로봇의 검색 기능을 역이용하여 순위를 조작하거나 검색을 피할 수 있는 단점도 있다. 네이버, 구글 등도 이런 봇을 이용해 운영된다.

2. 관련 소프트웨어

이 분야에서 가장 유명하다고 해도 될 Beautiful Soup은 엄연히 따지면 크롤링이 아닌 스크래핑 프로그램이다.

그 외에도 Selenium이라는 라이브러리가 인기를 끌고 있다. WebDriver[1]와 headless 옵션을[2] 함께 이용해서 크롤링을 자동화할 수 있다. 그리고 beautifulsoup과 달리 브라우저를 띄우는 방식이기에 beautifulsoup에서 불가능한 작업인 클릭 등 상호작용이 가능하다.

Java에도 jsoup이라는 HTML 파싱 라이브러리가 존재한다. 파이썬의 beautifulsoup처럼 특정 조건을 가진 태그들을 선택하는 것이 가능하며, GET/POST 요청을 보내서 응답을 받아오는 것도 가능하다.

전문적인 크롤링 소프트웨어는 아니지만, 일반인들이 사용할 만한 툴로는 httrackwget-curl 정도가 있다. 인터넷이 느렸던 2000년대 초반에는 WebZip이라는 것이 인기를 모으기도 하였다.

3. SaaS(Software as a Service)

4. 합법

파일:상세 내용 아이콘.svg   자세한 내용은 미러링 문서
2.2번 문단을
부분을
참고하십시오.

5. 관련 문서


[1] 코드로 작동되게 할 수 있는 브러우저 창을 띄운다. 물론 브라우저 창이기에 그냥 클릭도 가능하다.[2] webdriver로 창을 띄우지 않고 백그라운드에서 브라우저가 작동되게 한다.[3] 현재 폐쇄된 것으로 보인다.

분류