Nutch를 사용하여 크롤링을 한 후

실제로 크롤링된 데이터를 사용하기위해서는

필요한 데이터를 추출하는 작업이 필요하다.

크롤링한 데이터는 [사용자지정 크롤 디렉토리]/segments/ 에 저장되는데

이 데이터를 읽어 들이면 된다.

 

1. 크롤링 데이터를 읽는 명령어의 기본 형태

bin/nutch readseg -dump [사용자지정 크롤 디렉토리]/segments/[filename] [저장 디렉토리] [-옵션]

예) bin/nutch readseg -dump crawl/segments/201307112948 dump -nocontent -nofetch -nogenerate -noparse -noparsedata

 

2. 옵션

-nocontent : 크롤링한 데이터에서 HTML을 저장하지 않는 옵션

-noparsetext : 추출한 HTML에서 태그를 제거한 문자열을 저장하지 않는 옵션

-그 외 : 테스트중...

 

3. 사용예

크롤링한 URL과 HTML을 노출하기 위해서는 아래와 같이 사용하면 된다.

-nocontent 옵션을 제외

bin/nutch readseg -dump crawl/segments/20130709101941 dump -nofetch -nogenerate -noparse -noparsedata -noparsetext

 

크롤링한 데이터에서 HTML태그를 제외한 데이터가 필요하면 아래와 같이 사용하면 된다.

-noparsetext 옵션을 제외

bin/nutch readseg -dump crawl/segments/20130709101941 dump -nofetch -nogenerate -noparse -noparsedata

 

4. SEGMENT 파일 하나로 합치기

크롤링을 하면 SEGMENT 파일이 다수 생성되게 된다.

하지만 덤프파일은 하나만 존재할수있기때문에 위와 같이 readseg 명령어를 사용하여

덤프파일을 생성하면 다수의 SEGMENT에 대한 덤프파일을 생성하기가 어려워 진다.

그래서 다수의 ③SEGMENT 파일을 하나로 합친후

readseg 명령어로 ④덤프파일을 만드는 방법이 필요하다.

 

4-1. SEGMENTS MERGING 기본 문법

bin/nutch mergesegs [MERGE한 데이터를 저장할 디렉토리] [-dir SEGMENTS 디렉토리] [-옵션]

예) bin/nutch mergesegs crawl/segments-all -dir crawl/segments

위와같이 mergesegs 명령어를 사용하면 다수의 SEGMENTS를 하나로 합칠 수 있다.

이렇게 하나로 만든 SEGMENT 파일을 읽어들여 크롤링한 데이터를 추출하면 된다.

이 외에 옵션에는 -filter 와 -slice 가 있는데 이 옵션에 대해서는 아직 살펴보지 못했다.

 

5. 마무리

크롤링한 데이터를 추출하여 사용할 수 있는 데이터로 만들었다. 이제 이 파일을 가지고 어떻게 처리 할지는 각자 고민하는 수바께 없다.



출처: http://whybk.tistory.com/16 [궁금해 하지 말자]

'빅데이터 > Nutch' 카테고리의 다른 글

Nutch Solr 튜토리얼  (0) 2018.08.12
아파치 너치(Apache Nutch) Architecture & Crawling 구조  (0) 2018.08.05

+ Recent posts