본문 바로가기

Crawling

크롤러 (crawler)


웹에서 크롤링 관련 설명을 체계적으로 해놓은 곳을 처음 찾았다. 영어이기는 하지만 재미있다. 
아래는 내가 찾았다는 IBM의 크롤러관련 설명 페이지이다. 
http://publib.boulder.ibm.com/infocenter/discover/v9r1m0/index.jsp?topic=%2Fcom.ibm.discovery.es.ad.doc%2Fiiysacweb.htm 

내 직업이 크롤링이지만 사실 크롤러에는 여러가지 종류가 있다.
흔히, 구글같이 큰~~ 웹 크롤러를 생각하겠지만, 이미지만 모으는 이미지 크롤러, 전화번호만 모으는 크롤러, 특정 사이트만 수집하는 크롤러

알고있는지 모르겠지만 사실 크롤링의 목적은 모아온 정보를 어떻게든 이용하기 위해서일 것이다. 

web crawler는 웹 페이지 검색을 위한 데이터를 모으고, 이미지 크롤러는 필요한 특정이미지만 모으거나 이미지 검색을 위해 모으고, 전화번호는 전화번호 수집해서 갖다 팔려고 모으고 (이런건 나쁜짓), 특정 사이트에 좋은 정보가 있다면 그 정보를 이용해 좋은 서비스를 만들거나 다른 사이트와 매쉬업하기 위해 데이터를 모을 수도 있다. 

크롤링을 잘하기 위해서는 알아야 할 것도 너무 많다. 

HTML 특성에 따라 parsing을 잘해야하고, 스팸 url도 걸러야하며, robot rule도 지켜야한다. 
접근할 때 공격으로 보이지 않도록 조심해야하고, network traffic도 잘 사용할 줄 알아야하며, crawler가 최고의 performance를 발휘할 수 있는 코드를 가지고 운영자도 network, cpu, memory에 대해 최고의 튜닝을 해야한다. 또 좋은 문서가 유효한지 update되지 않았는지 잘 확인하기 위해서는 좋은 스케쥴링도 필요하다. 엄청난 데이터가 쌓이기 때문에 그 많은 정보를 어떻게 효율적으로 저장하고 관리할지도 생각해보아야한다. 
protocol도 잘 알아야할 뿐더러 web 서버 특성도 잘 알아야한다.


그래서 내가 죽겠는거지.....

저위의 문서들은 정말 잘 정리 되어있다. 하나하나 보면서 나중에 생각을 적어보려고한다. 




 

'Crawling' 카테고리의 다른 글

html 본문 parsing  (0) 2012.05.09
크롤링에서 문서의 최신성 (freshness)  (0) 2011.09.06
Url redirection  (0) 2011.08.12
URL 파싱하기  (0) 2011.08.09
url에 program으로 접근되지 않을 때  (0) 2011.07.05