크롤링의 정의

 

무수히 많은 컴퓨터에 분산 저장되어 있는 문서를 수집하여 검색 대상의 색인으로 포함시키는 기술. 어느 부류의 기술을 얼마나 빨리 검색 대상에 포함시키냐 하는 것이 우위를 결정하는 요소로서 최근 웹 검색의 중요성에 따라 발전되고 있다.

 

R, 파이썬, 자바로 크롤링 할 수 있다.

 

 

웹크롤링이란?

 

웹페이지에서 보이는 데이터를 필요한 부분만 선택하여 수집하는 행위를 말한다.

 

웹크롤링의 4단계 과정

1. HTTP를 요청한다.

2. 응답을 받는다.

3. HTML에서 데이터를 추출한다.

4. 추출한 데이터를 전처리하고 저장한다.

 

웹크롤링 주의점

'영업권 및 지적재산권'을 침해하는 행위가 될수 있기때문에 웹사이트의 메인페이지에서 사전에 robot.txt를 쳐서 개방 범위를 확인하여야 한다.

 


robots.txt

 

robot.txt란 웹체이지를 제작할 때 제작자가 만드는 것으로 검색 엔진 크롤러에서 사이트에 요청할 수 있거나 요청할 수 없는 페이지 또는 파일을 크롤러에 지시하는 파일이다.

간단히 말하면 크롤러가 접근할 때 가져가도 되는 파일과 가져가면 안되는 파일을 구분해서 알려주는 파일이다.

메인페이지에 robots.txt를 치면 아래와 같이 나온다.

예) www.naver.com/robots.txt

 

 

 

User-agent: *           <<< robots.txt.의 규칙이 적용되는 크롤러의 이름이다. *는 모든 크롤러에 적용된다는 뜻이다.

Disallow: /              <<< 크롤러를 차단하는 URL이다. /표시는 모든 루트에 대해 크롤링을 가져가면 안된다.

Allow: /$                <<< /$가 있는 URL에 대해서는 크롤링을 허용한다.

 


HTTP

HTTP는 HyperTextTransferProtocol로 인터넷상에서 데이터를 주고받을 때 사용되며, 주로 HTML을 주고 받는다. 클라이언트가 웹서버에 데이터를 요청하고, 웹서버는 해당 요청에 대한 결과를 응답한다.

클라이언트가 데이터를 요청하고, 웹서버는 해당 요청에 대한 결과를 응답한다.

 

- HTTP Request

클라이언트가 웹서버에 HTTP 요청을 할 때, 웹서버에 제공해야 하는 요청메시지는 GET과 POST가 다르다.

GET방식은 요청라인과 요청헤더를 보내야하고, POST방식은 GET방식에 메시지 바디를 추가한 3가지를 보낸다.

 

요청라인에 URI가 포함된다.

URI(Uniform Resource Indicator),

URL(Uniform Resource Locator)

 

예)

https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=tuna

 

tuna : 네이버 통합검색

'tuna'의 네이버 통합검색 결과입니다.

search.naver.com

?를 기준으로 왼쪽이 URL, 오른쪽이 Query String이다.

 

 

- HTTP Response

웹서버는 클라이언트의 요청에 대해 응답메시지를 발송한다.

응답메시지는 응답헤더와 바디로 구성되어 있고,

헤더는 HTTP버전, 상태코드, 일시, 컨텐츠 형태, 인코딩 방식, 크기 등이 포함되며,

바디에는 HTML이 포함된다.

'개발 용어 정리' 카테고리의 다른 글

iOS14로 인한 SKAdnetwork 가이드 매뉴얼  (0) 2021.05.20
2. 광고 플랫폼 용어 정리  (0) 2021.01.05

+ Recent posts