크롤러 분류 기준

 

1. 상태를 가지고 있는지

2. 자바스크립트를 실행할 수 있는지

3. 불특정 다수의 사이트를 대상으로 하는지


상태를 가지는  크롤러(stateful)

상태를 가지지 않는 크롤러(stateless)


 

자바스크립트를 실행하는 크롤러를 만들려면 Selenium을 사용

Selenium은 프로그램에서 브라우저를 자동으로 조작할 수 있게 해줌

자바스크립트를 실행하는 크롤러는 HTML만 해석하는 크롤러에 비해 페이지 처리

시간이 오래 걸리며, 메모리도 많이 소비함.


불특정 다수의 웹사이트를 대상으로 하는 크롤러는 구글 검색엔진 이나 구글 봇, 

사용자가 입력한 url을 크롤링 하는 것.


** 크롤러 만들 때 주의할 점 **

크롤러를 만들 때는 저작권 침해, 크롤링 대상 웹사이트에 대한 피해 등을 고려해야 한다.

 

저작권이 있는 데이터를 무단으로 수집해서 활용하면 문제가됨.

크롤러를 매우 빠른 속도로 돌려 상대방 사이트에 너무 많은 부하를 주게 되면 문제가 될 수 있음.

 

robots.txt는 다음의 디렉티브를 사용해 크롤러에게 정보를 전달

 

디렉티브 설명
user-agent 디렉티브 정보의 대상이 되는 크롤러
disallow 크롤링을 거부할 경로
allow 크롤링을 허가할 경로
sitemap xml 사이트 맵의 url
crawl-delay 크롤러의 간격

 **예시**

user-agent : * 

- 모든 크롤러를 대상으로 한다.

user-agent : annoying-bot

- annoying-bot이라는 문자열을 포함한 크롤러를 대상으로 함

disallow:

- 모든 것을 크롤링해도 됨

Disallow: /tmp/

- /tmp/ 아래를 허가하지 않음

Allow : /articles/

- /articles/ 아래의 경로만 허가함

'Data Anaylsis > python basic' 카테고리의 다른 글

웹크롤링 간단 summary  (0) 2020.01.21
영화 평점 크롤링  (0) 2020.01.21
데이터베이스 기초  (0) 2020.01.21
rss 크롤링  (0) 2020.01.21
웹툰 크롤링  (1) 2020.01.21

+ Recent posts