Crawler의 개발 과정
개발이야기/텍스트 마이닝 진행중..2015. 2. 7. 21:35
Crawler란 웹에서 지속적으로 데이터를 수집해오는 녀석을 말한다.
어떤 Root Url을 기초로 문서를 파싱 그 안의 Url을 수집해서 계속적으로 문서를 파싱하며, 그 안에서 유용한 내용은 따로 DB에 저장해두도록 한다.
본 프로젝트에서는 수많은 자료가 필요하기 때문에 하둡의 분산 저장 시스템인 hdfs에 저장하도록 하였다.
Crawler의 기본적인 구조는 총 세가지 단계로 나누어 진다. (Master, Slave, Monitor)
Master는 기본적으로 Url을 지속적으로 수집해주는 녀석, Slave는 데이터를 파싱하고, 그 안에서 Url이 있으면, 어떠한 공유 저장공간으로 보내게 된다.
본 프로젝트에서는 네이버의 뉴스 Url을 가져오도록 하기 때문에 위의 과정까지는 필요없지만, 마스터가 Url을 지속으로 수집해 메모리상에 구현된 큐에 넣어주고, 슬레이브는 이 큐에서 데이터를 빼내 수집하도록 하는 구조이다.
아래는 발표 때 썼던 PT자료.(아래 그림을 본다면 바로 짜볼 수 있지 않을까? ㅋ)
본 프로젝트 백업을 위해 소스는 첨부. ㅋ
반응형
'개발이야기 > 텍스트 마이닝 진행중..' 카테고리의 다른 글
[개발 현황] 뉴스 클러스터링 문서 100개에 대한 결과 (0) | 2015.02.07 |
---|---|
[개발 현황] 뉴스 클러스터링 (0) | 2015.02.07 |
정규표현식을 활용한 html 태그 제거 (0) | 2015.02.07 |
데이터 마이닝을 위한 웹 크롤러 개발 돌입. (0) | 2015.02.07 |