poi スプレッドシートを作成できるように、apache tika を使用して html テキストと css クラス名を抽出したいと考えています。テキストを取得できますが、css クラス名を抽出するにはどうすればよいですか?
前もって感謝します ...
poi スプレッドシートを作成できるように、apache tika を使用して html テキストと css クラス名を抽出したいと考えています。テキストを取得できますが、css クラス名を抽出するにはどうすればよいですか?
前もって感謝します ...
カスタム ハンドラを作成してみてください。startElement メソッドをオーバーライドすると、html 属性にアクセスできます。BodyContentHandler からの継承は、出発点としては非常に簡単です。ターゲットにしている要素がマップされておらず、startElement に渡されていない場合は、IdentityHtmlMapper を使用するか、独自のマッパーを作成して、ParseContext に渡すように指示する必要があります。
コマンドライン java -jar tika-app.jar -h [file|port...] から Tika を実行できます (-h または --html は、HTML コンテンツの出力を提供するオプションです)。
html パーサーを使用してプログラムで行うこともできます。
Parser parser = new HtmlParser();
HTML パーサーは最初に入力 HTML ドキュメントを適切な形式の XHTML に変換し、次に含まれている要素を「安全な」サブセットにマップするため、これでは十分ではありません。デフォルトのマッピングは、次のようなものを削除しますとHTML ページのテキスト コンテンツに影響を与えず、他の正規化ルールを適用する要素。このデフォルト マッピングは、ほとんどのユース ケースで良好な結果をもたらしますが、クライアントが元のHTML マークアップにより直接アクセスしたい場合があります。IdentityHtmlMapper クラスを使用して、これを実現できます。
ParseContext context = new ParseContext();
context.set(HtmlMapper.class, new IdentityHtmlMapper());
最後に、 parseメソッドを呼び出してコンテンツを取得できます。
parser.parse(stream, handler, metadata, context);
これが少し役立つことを願っています。:)