"웹크롤러"의 두 판 사이의 차이
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | 웹 크롤러가 하는 작업을 웹 크롤링 혹은 | + | 웹크롤러는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다.웹 크롤러가 하는 작업을 웹 크롤링 혹은 스파이더링이라 부른다. 검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다. 웹 크롤러는 대체로 방문한 사이트의 모든 페이지의 복사본을 생성하는 데 사용되며, [[검색 엔진]]은 이렇게 생성된 페이지를 보다 빠른 검색을 위해 [[인덱싱]]한다. 또한 크롤러는 링크 체크나 HTML 코드 검증과 같은 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며, 자동 이메일 수집과 같은 웹 페이지의 특정 형태의 정보를 수집하는 데도 사용된다. 웹크롤러는 봇이나 소프트웨어 [[에이전트]]의 한 형태이다. 웹크롤러는 대개 [[시드]](seeds)라고 불리는 [[URL]] 리스트에서부터 시작하는데, 페이지의 모든 [[하이퍼 링크]]를 인식하여 URL 리스트를 갱신한다. 갱신된 URL 리스트는 재귀적으로 다시 방문한다. 웹크롤러는 웹 스파이더, 앤트, 오토매틱 인덱서[2], 웹 스커터로도 부를 수 있다. 그 외에 [[봇]](bots), [[웜]](worms), [[웹 로봇]](web robot) 등으로도 부른다.<ref name="웹 크롤러"></ref> |
− | ==종류== | + | ==예시== |
+ | *'''빙봇''' | ||
+ | *'''FAST Crawler''' | ||
+ | *'''구글봇''' | ||
+ | *'''GM Crawl''' | ||
+ | *'''PolyBot''' | ||
+ | *'''RBSE''' | ||
+ | *'''Swiftbot''' | ||
+ | *'''WebFountain''' | ||
+ | *'''WebRACE''' | ||
+ | *'''월드 와이드 웹 웜''' | ||
+ | *'''Yahoo! Slurp'''<ref name="웹 크롤러"></ref> | ||
+ | |||
+ | ==오픈 소스 크롤러== | ||
+ | *'''Frontera''' | ||
+ | *'''GNU Wget''' | ||
+ | *'''GRUB''' | ||
+ | *'''Heritrix''' | ||
+ | *'''HTTrack''' | ||
+ | *'''mnoGoSearch''' | ||
+ | *'''news-please''' | ||
+ | *'''아파치 너치''' | ||
+ | *'''오픈 서치 서버''' | ||
+ | *'''PHP-Crawler''' | ||
+ | *'''Scrapy''' | ||
+ | *'''Seeks''' | ||
+ | *'''스핑크스''' | ||
+ | *'''스톰크롤러''' | ||
+ | *'''tkWWW Robot''' | ||
+ | *'''Xapian''' | ||
+ | *'''YaCy''' | ||
+ | *'''Octoparse'''<ref name="웹 크롤러"></ref> | ||
+ | |||
+ | ==크롤링== | ||
+ | [[크롤링]](crawling) 또는 [[스크레이핑]](scraping) 은 웹 페이지를 가져와서 데이터를 추출해 내는 방법을 말한다. 이렇게 크롤링하는 소프트웨어를 크롤러(crawler) 라고 한다.세상에는 많은 양, 다양항 데이터가 존재한다. 그렇기 때문에 크롤링도 다양한 분야에서 활용할 수 있다. 어떠한 기업에서는 크롤링 담당 분서가 따로 존재한다고 한다. 예를들면 마케팅과 관련하여 개선점을 파악하고 싶을때 웹상에 존재하는 상품들의 후기, 평점등을 크롤링하여 문제점을 파악하고 개선점을 찾을 수 있다.<ref name="Jaaaa_mj "> Jaaaa_mj, 〈[https://jaaamj.tistory.com/101 크롤링 종류(정적 VS 동적)]〉, 《티스토리》, 2021-01-17 </ref> | ||
+ | |||
+ | ==크롤링 종류== | ||
+ | ===정적 크롤링=== | ||
+ | [[정적 크롤링]]은 정적인 데이터를 수집하는 방법을 말한다. 정적인 데이터란 변하지 않는 데이터를 의미합니다. 즉 한 페이지 안에서 원하는 정보가 모두 드러날때 정적 데이터라고 할 수 있다. 예를 들면, 로또 로또 번호 7개를 크롤링 하고 싶다고 한다면 보이는 화면에서 그 값이 모두 나타나 있다. 그렇기 때문에 한 페이지 안에 원하는 정보가 모두 드러난 경우 인 정적 크롤링에 해당된다. 정적 크롤링은 한 페이지 내에서 모든 작업이 이루어지기 때문에 속도가 매우 빠르다는 장점을 가진다.<ref name="Jaaaa_mj "></ref> | ||
+ | |||
+ | ===동적 크롤링=== | ||
+ | [[동적 크롤링]]은 동적인 데이터를 수집하는 방법을 말한다. 동적인 데이터란 입력, 클릭, 로그인 등과 같이 페이지 이동이 있어야 보이는 데이터를 말한다. 정적크롤링 수집하는 속도가 느리다는 단점이 있지만 더 많은 정보를 수집할 수 있다는 장점이 있다. 예를 들어, 메일함에 있는 메일 제목데이터를 수집하고 싶다고 생각을 해봤을때, 그렇기 위해서는 로그인과정을 거친 후 메일함에 들어가야 하는 동적인 과정이 필요하다. 이러한 경우가 바로 동적 크롤링이다.<ref name="Jaaaa_mj "></ref> | ||
+ | |||
+ | ==동적 크롤링과 정적 크롤링 차이점== | ||
+ | |||
+ | ;연속성: 정적 크롤링은 주소를 통해 단발적으로 접근하지만, 동적 크롤링은 브라우저를 사용하여 연속적으로 접근한다. | ||
+ | ;수집 능력: 정적 크롤링은 수집 데이터의 한계가 존재하지만, 동적 크롤링은 수집 데이터의 한계가 없다. | ||
+ | ;속도: 정적 크롤링의 속도는 빠르며, 동적 크롤링은 속도가 느리다. | ||
+ | ;라이브러리: 정적 크롤링은 [[requests]], [[BeautifulSoup]]을 사용하며, 동적 크롤링은 [[selenium]], [[chromedriver]]를 사용한다.<ref name="Jaaaa_mj "></ref> | ||
{{각주}} | {{각주}} | ||
10번째 줄: | 58번째 줄: | ||
== 참고자료 == | == 참고자료 == | ||
* 〈[https://ko.wikipedia.org/wiki/%EC%9B%B9_%ED%81%AC%EB%A1%A4%EB%9F%AC 웹 크롤러]〉, 《위키백과》 | * 〈[https://ko.wikipedia.org/wiki/%EC%9B%B9_%ED%81%AC%EB%A1%A4%EB%9F%AC 웹 크롤러]〉, 《위키백과》 | ||
+ | * Jaaaa_mj, 〈[https://jaaamj.tistory.com/101 크롤링 종류(정적 VS 동적)]〉, 《티스토리》, 2021-01-17 | ||
== 같이 보기 == | == 같이 보기 == | ||
{{솔루션|검토 필요}} | {{솔루션|검토 필요}} |
2021년 7월 20일 (화) 17:16 판
웹크롤러(web crawler)는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다.[1]
목차
개요
웹크롤러는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다.웹 크롤러가 하는 작업을 웹 크롤링 혹은 스파이더링이라 부른다. 검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다. 웹 크롤러는 대체로 방문한 사이트의 모든 페이지의 복사본을 생성하는 데 사용되며, 검색 엔진은 이렇게 생성된 페이지를 보다 빠른 검색을 위해 인덱싱한다. 또한 크롤러는 링크 체크나 HTML 코드 검증과 같은 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며, 자동 이메일 수집과 같은 웹 페이지의 특정 형태의 정보를 수집하는 데도 사용된다. 웹크롤러는 봇이나 소프트웨어 에이전트의 한 형태이다. 웹크롤러는 대개 시드(seeds)라고 불리는 URL 리스트에서부터 시작하는데, 페이지의 모든 하이퍼 링크를 인식하여 URL 리스트를 갱신한다. 갱신된 URL 리스트는 재귀적으로 다시 방문한다. 웹크롤러는 웹 스파이더, 앤트, 오토매틱 인덱서[2], 웹 스커터로도 부를 수 있다. 그 외에 봇(bots), 웜(worms), 웹 로봇(web robot) 등으로도 부른다.[1]
예시
- 빙봇
- FAST Crawler
- 구글봇
- GM Crawl
- PolyBot
- RBSE
- Swiftbot
- WebFountain
- WebRACE
- 월드 와이드 웹 웜
- Yahoo! Slurp[1]
오픈 소스 크롤러
- Frontera
- GNU Wget
- GRUB
- Heritrix
- HTTrack
- mnoGoSearch
- news-please
- 아파치 너치
- 오픈 서치 서버
- PHP-Crawler
- Scrapy
- Seeks
- 스핑크스
- 스톰크롤러
- tkWWW Robot
- Xapian
- YaCy
- Octoparse[1]
크롤링
크롤링(crawling) 또는 스크레이핑(scraping) 은 웹 페이지를 가져와서 데이터를 추출해 내는 방법을 말한다. 이렇게 크롤링하는 소프트웨어를 크롤러(crawler) 라고 한다.세상에는 많은 양, 다양항 데이터가 존재한다. 그렇기 때문에 크롤링도 다양한 분야에서 활용할 수 있다. 어떠한 기업에서는 크롤링 담당 분서가 따로 존재한다고 한다. 예를들면 마케팅과 관련하여 개선점을 파악하고 싶을때 웹상에 존재하는 상품들의 후기, 평점등을 크롤링하여 문제점을 파악하고 개선점을 찾을 수 있다.[2]
크롤링 종류
정적 크롤링
정적 크롤링은 정적인 데이터를 수집하는 방법을 말한다. 정적인 데이터란 변하지 않는 데이터를 의미합니다. 즉 한 페이지 안에서 원하는 정보가 모두 드러날때 정적 데이터라고 할 수 있다. 예를 들면, 로또 로또 번호 7개를 크롤링 하고 싶다고 한다면 보이는 화면에서 그 값이 모두 나타나 있다. 그렇기 때문에 한 페이지 안에 원하는 정보가 모두 드러난 경우 인 정적 크롤링에 해당된다. 정적 크롤링은 한 페이지 내에서 모든 작업이 이루어지기 때문에 속도가 매우 빠르다는 장점을 가진다.[2]
동적 크롤링
동적 크롤링은 동적인 데이터를 수집하는 방법을 말한다. 동적인 데이터란 입력, 클릭, 로그인 등과 같이 페이지 이동이 있어야 보이는 데이터를 말한다. 정적크롤링 수집하는 속도가 느리다는 단점이 있지만 더 많은 정보를 수집할 수 있다는 장점이 있다. 예를 들어, 메일함에 있는 메일 제목데이터를 수집하고 싶다고 생각을 해봤을때, 그렇기 위해서는 로그인과정을 거친 후 메일함에 들어가야 하는 동적인 과정이 필요하다. 이러한 경우가 바로 동적 크롤링이다.[2]
동적 크롤링과 정적 크롤링 차이점
- 연속성
- 정적 크롤링은 주소를 통해 단발적으로 접근하지만, 동적 크롤링은 브라우저를 사용하여 연속적으로 접근한다.
- 수집 능력
- 정적 크롤링은 수집 데이터의 한계가 존재하지만, 동적 크롤링은 수집 데이터의 한계가 없다.
- 속도
- 정적 크롤링의 속도는 빠르며, 동적 크롤링은 속도가 느리다.
- 라이브러리
- 정적 크롤링은 requests, BeautifulSoup을 사용하며, 동적 크롤링은 selenium, chromedriver를 사용한다.[2]
각주
참고자료
- 〈웹 크롤러〉, 《위키백과》
- Jaaaa_mj, 〈크롤링 종류(정적 VS 동적)〉, 《티스토리》, 2021-01-17