[解決済み】JavaでHTMLを効率的にパースするには?
2022-04-16 11:23:41
質問
私は仕事柄、HTMLの解析を多く行っています。今まではHtmlUnitのヘッドレスブラウザを使って解析とブラウザの自動化をしていました。
今、私はこの2つの作業を分離したいのです。
HtmlUnitでは、まずページを読み込み、ソースを取得し、それをパースするのに多くの時間がかかるので、軽いHTMLパーサーを使いたいのです。
HTMLを効率的に解析できるHTMLパーサーを知りたいのですが。必要なのは
- 速度
- HtmlElementのquot;id" やquot;name" 、タグタイプ" による検索を容易にします。
汚れたHTMLコードをクリーニングしてくれなければ、私はそれでいいと思っています。私はHTMLソースをきれいにする必要はありません。私はただ、HtmlElementsを横断して移動し、そこからデータを採取する最も簡単な方法が必要なのです。
解決方法は?
セルフ・プラグ:新しいJava HTMLパーサーをリリースしました。 jsoup . ここで紹介するのは、あなたが求めているものを実現できると思うからです。
そのパーティー・トリックは、要素を見つけるためのCSSセレクタ構文です。
String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();
をご覧ください。 セレクタ javadocでご確認ください。
これは新しいプロジェクトなので、改善のためのアイデアは大歓迎です。
関連
-
JQuery DataTable 详解
-
サーブレットクラスのインスタンス化エラーの解決法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
javaで非静的な解を静的な参照にすることができない
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
xxx:jarのアーティファクトディスクリプタの読み込みに失敗した問題は解決しました。
-
マスキング このリソースにアクセスするには、完全な認証が必要です。
-
SocketTimeoutExceptionの解決方法です。読み込みがタイムアウトした
-
IDEA パッケージステートメントの欠落
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。