웹 크롤링(Web Crawling)이란?
개요
웹 크롤링(Web Crawling)에 대해 이해하고, 크롤링시 지켜야 할 주의사항에 대하여 알아본다.
목차
소개
1. 웹 크롤러(Web Crawler)
A. 웹 크롤러(Web Crawler)란?
SEED URL에서 시작하여 관련된 URL을 찾아 내고, 그 URL들에서 또 다른 하이퍼 링크를 계속 하여 찾아내는 과정을 반복하며 하이퍼 링크들을 다운로드하는 프로그램이다.
B. 웹 크롤러(Web Crawler)의 구조
Frontier: 2개의 자료구조(탐색했던 URL과, 탐색해야 할 URL)를 바탕으로 탐색할 URL에 하나 이상의 Seed URL을
Fetcher 에게 넘겨준다
Fetcher: URL의 html 내용을 가져와서 Parser에게 넘겨준다
Parser: html에서 <a> 태그 혹은 <url>태그의 다른 하이퍼링크를 찾는다
Content Seen: 방문한 페이지의 본문 내용이 이미 전에 본 내용인지 아닌지 판단하여 준다
(Doc FP`s = Document Finger Prints) = Document의 내용을 구분할 수 있는 고유 Hash 값
URL Filter: 해당 html 페이지에서 <a> 태그 혹은 <html> 태그 등의 URL을 분류 하여준다
Dup URL Elim: 방문한 페이지를 다시 방문하는 LOOP가 발생하지 않도록, 중복된 URL을 제거하여 Frontier
에게 넘겨준다.
위와 같은 과정들을 반복하며, 웹페이지들을 방문한다.
2. robots.txt
A. robots.txt란?
Crawler가 페이지에 요청을 해도 되거나, 요청을 해서는 안되는 경로를 적어둔 File로 계속적인 접근으로 인한 과부하 혹은 적당하지 않은 정보를 가져가는 것을 막기 위한 규약들이 적혀 있다.
ex) https://www.google.com/robots.txt
B. 불법 Crawler란?
이러한 robots.txt에 정의된 규약들을 지키지 않고 데이터를 추출하거나, 추출한 데이터를 통해 이익을 취하는 Cralwler를 불법 Crawler라고 할 수 있다.
3. 웹 크롤링(Web Crawling)
A. Web Crawling 이란?
Web Scraping 으로 불리며 웹 크롤러(Web Crawler)를 통해 페이지에서 Data 혹은 더 나아가 필요로 하는 Data를 수집하는 작업이라고 할 수 있다.
B. Web Crawling 원리
Web Page 에서 오른쪽 마우스를 클릭하여 '개발자 소스코드' 등을 확인하여 보면 흔히 HTML 로 이루어진 소스코드 들을 볼 수 있다. 이는 정형화된 형식을 따르기 때문에 일정한 규칙을 갖고 이러한 규칙속에서 특정 단어로 이루어진 DATA를 추출하여 원하는 DATA 목록들을 수집 할 수 있게 된다.
참고사이트
1. https://www.microsoft.com/en-us/research/wp-content/uploads/2009/09/EDS-WebCrawlerArchitecture.pdf
2. https://velog.io/@mowinckel/%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81-I
'Toy Project > Web Crawling' 카테고리의 다른 글
[Web Crawling] 전국 대학교 이름 크롤링 하여 DB에 저장하기 -2 (0) | 2022.01.27 |
---|---|
[Web Crawling] 전국 대학교 이름 크롤링 하여 DB에 저장하기 -1 (0) | 2022.01.24 |