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 |