過去の作品で、ちょっとした HTML 解析プラグインを作成したことを覚えています。正確にどのように行ったかはわかりませんが、基本的なポイントは次のとおりです。私たちは次のことをしたかったのです:
- HTML ページを解析しますが、実際の //html/head/title ではなく、条件付きで H1 タグまたは特定のクラスのタグをページ タイトルとして使用します
- このページには、ときどき表示される特別なデータがいくつかありました (つまり、どのタブが選択されたかで、これが小売顧客、銀行顧客、法人顧客のいずれであるかがわかります)。
- 等
私がしたことは、html-parse プラグイン クラスを見つけて (実際のクラス名を見つけるのに苦労しています)、それを拡張することでした。次に、解析関数をオーバーライドします。新しい関数は関数を呼び出す必要がありsuper
、DOM ツリーをたどって探している特別なデータを見つけることができます。私の場合、より良いタイトルを探して、super
関数が思いついた値をオーバーライドします。
2番目の質問については、あなたが何を求めているのかわかりません。DOM が適切に形成されていない場合に何が起こるかを尋ねていると思いますか? Nutch コード (http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.nutch/nutch/1.3/) を掘り下げて、解析がどのように行われるかを調べます (私はライブラリを使用してそれを行うことを確認してください)。それは、物事が貪欲であるかどうか、または何であるかについてもっと教えてくれるはずです.
ご不明な点がございましたら、大声でお問い合わせください。