2009-04-28 7 views
3

현재 nutch 1.0에 대한 사용자 정의 플러그인을 작성하려고합니다. 이 플러그인은 HTML 데이터를 구문 분석하고 문서에서 관련 정보를 필터링합니다. 기본 플러그인 작동, HtmlParserResult 개체를 확장하고 구문 분석 할 때마다 실행됩니다.nutch 1.0 및 사용자 정의 플러그인을 사용하여 html 데이터 구문 분석

내 문제는 지금이 직면하고 있습니다 :

  1. 내가 충분히 좋은 구문 분석 nutch의 워크 플로우/pipline을 이해하지 않습니다. 나는 이것에 관한 정보를 nutch 사이트에서 찾지 못했습니다.

  2. 나는 DOM 구문 분석이 어떻게 수행되는지 이해하지 못한다. Nutch가 DOM 객체를 가지고 있고, HtmlParser 플러그인이 DOM 구문 분석을 수행하는 것을 볼 수 있는데, 아직도 이것이 최선의 방법을 이해하지 못했다.

답변

1

이전 작품에 대한 nutch HTML 구문 분석 플러그인을 작성한 것을 기억합니다. 나는 정확히 어떻게했는지에 대한 접근이 없지만 여기에는 기본적인 요점이있다. 우리가하고 싶었던 다음

  1. 는 HTML 페이지를 구문 분석하지만, 조건부 않고 있었다
  2. 실제 // HTML/헤드/제목보다 페이지 제목과 같은 특정 클래스와 H1 태그 또는 태그를 사용 페이지의 일부 특수 데이터 (즉, 어떤 탭을 선택했는지, 소매 고객인지, 은행 고객인지, 법인 고객인지 여부 등).

내가 단지, HTML 구문 분석 플러그인 클래스를 (I 문제가 실제 클래스 이름을 찾는 데) 발견하고 그것을 확장되었다했다. 그런 다음 구문 분석 기능을 재정의하십시오. 새 함수는 super 함수를 호출 한 다음 DOM 트리를 탐색하여 찾고자하는 특수 데이터를 찾을 수 있습니다. 필자의 경우에는 더 나은 제목을 찾고 super 함수가 제공 한 값을 무시합니다.

두 번째 질문에 대해 나는 당신이 무엇을 요구하고 있는지 분명하지 않습니다. DOM이 잘 형성되지 않았을 때 어떤 일이 일어나는지 묻고있는 것 같아요? 나는 단지 nutch 코드 (http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.nutch/nutch/1.3/)를 파고 파싱이 어떻게 수행되는지를 알아낼 것이다. 그들이 그것을하기 위해 도서관을 사용했는지). 욕심이 많으면 무엇인지, 그 점은 무엇인지 자세히 알려야합니다.

질문이 있으시면 말씀 드리겠습니다.