問題タブ [jtidy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
824 参照

android - Android での HTML の解析、主要なパフォーマンスの問題

約 100 kB の HTML データを解析する必要がありますが、これは単に Android で大きなパフォーマンスの問題を引き起こします。組み込みの XML パーサーと JTidy の両方を試しました。

組み込みの XML パーサーを使用すると、約 0.5 秒の解析時間が得られます。問題は、XML パーサーを使用して乱雑な HTML コードを解析するのは良くないということです。これはオプションではありません。(私は前処理を試みましたが、有効な HTML について不平を言い始めたので...)

少しググったところ、XMLパーサーに渡す前にコードをクリーンアップするためにJTidyが提案されました。これは絶対的な悪夢でした。JTidy による前処理の解析に約7 秒かかるようになりました。

だから今、私の唯一の選択肢は本当に正規表現です。どう思いますか?

0 投票する
1 に答える
461 参照

jtidy - NekoHTML (または JTidy) + XOM でコメントがエスケープされる

私は NekoHTML を使用して一部の HTML をクリーンアップし、それを XOM にフィードしてオブジェクト モデルを取得しています。この過程のどこかで、コメントがエスケープされています。

入力 HTML の関連する例を次に示します (<head>わかりやすくするためにほとんどをカットしています)。

コードは次のとおりです。

対応する出力は次のとおりです。

XOM ドキュメントから script 要素を抽出すると、既にマングルされているように見えます (SCRIPT 要素にはText子ノードとして 1 つのノードがあり、期待されるシーケンスではありTextsませCommentsん)。Serializer.

さて、改行が保持されるとは思っていません。実際、とにかくスクリプトタグを捨てるつもりですが、コメントを保持したい、または少なくともできるようにしたい場所が他にもあります。エスケープされたコメントが埋め込まれていないテキストを取得します。

何か案は?


更新: NekoHTML がいくつかのタグを壊していたので、JTidy に切り替えましたが、同じ問題が発生しました。ただし、興味深いことに、これはヘッダー内のスクリプト タグだけの問題です。他のコメントは問題なく届きます。そして、JTidy のせいだと私が疑う (願って祈る) 奇妙な追加の JavaScript コメントがあります。

JTidy が行っていることは、<script>内容を CDATA に変換しているように見えます。JTidy の生の出力を stdout に送信すると、次のようになります。

0 投票する
2 に答える
1029 参照

java - JTidyを使用したリンクの解析

現在、JTidyを使用してHTMLドキュメントを解析し、指定されたHTMLドキュメント内のすべてのアンカータグのコレクションをフェッチしています。次に、各タグのhref属性の値を抽出して、ページ上のリンクのコレクションを作成します。

残念ながら、これらのリンクはいくつかの異なる方法で表現できます。いくつかの絶対的な(http://www.example.com/page.html)、いくつかの相対的な( /page.html、、、page.htmlまたは../page.html)。さらに、一部は単なるアンカー(#paragraphA)になります。ブラウザで自分のページにアクセスすると、リンクをクリックした場合にこれらのさまざまなhref値を処理する方法が自動的に認識されますが、プログラムでHTTPClientを使用してJTidyから取得したこれらのリンクのいずれかをたどる場合は、最初に提供する必要があります有効なURL(たとえば、最初に/page.html、page.html、およびhttp://www.example.com/page.htmlhttp://www.example.com/page.htmlに変換する必要があります) 。

JTidyであろうと他の場所であろうと、これを実現できる組み込み機能はありますか?または、これらの異なるURLを絶対URLに変換するために、独自のルールを作成する必要がありますか?

0 投票する
5 に答える
725 参照

java - DIV HTML 内の要素をトラバースまたは検索する最速の方法

動的ページの URL をヒットし、コンテンツを取得し、さまざまなネストされた div タグで特定の div タグを検索し、コンテンツを取得するユーティリティを作成しています。

主に、Java コード/ライブラリを探しています。JavaScript または JavaScript ベースのライブラリも機能します。

私は以下を最終候補に挙げました -> JSoup、Jerry、JTidy (最終更新日 2009-12-01)。パフォーマンス的にはどちらが優れていますか?

編集:質問を言い換えました。候補ライブラリを追加しました。

0 投票する
1 に答える
1150 参照

java - Jtidyのエラーログを削除するには?

jtidy には以下のコードを使用します。

すべての警告ログを削除できますが、それでも以下のエラー ログが表示されます

上記のエラーを削除するにはどうすればよいですか? そして、設定ファイルで「show-errors = 0」を設定しても機能しないようです。何かアイデアはありますか? ありがとう!

jtidy.config:

0 投票する
2 に答える
475 参照

html-entities - jtidy が漢字を html エンティティに変換しないようにするにはどうすればよいですか?

jtidy で変換する html がいくつかあります。これにはいくつかの漢字が含まれています。

しかし、結果は次のようになります。

jtidy を設定して、漢字を html エンティティに変換しないようにする方法は?

0 投票する
2 に答える
2577 参照

java - jTidy は HTML を整頓した後に何も返さない

(Android で) jTidy を使用しているときに、非常に厄介な問題に遭遇しました。jTidy は、テストしたすべての HTML ドキュメントで動作することがわかりました。ただし、次の例外があります。

しかし、整理した後、jTidy は何も返しません (整理された HTML を含む文字列が結果と呼ばれる場合、result.equals("") == true のように)

ただし、非常に興味深いことに気付きました。HTML の本文部分をすべて削除すると、jTidy は完全に機能します。<body></body> に jTidy が気に入らないものはありますか?

私が使用しているJavaコードは次のとおりです。

私のJavaに何か問題がありますか?これは jTidy のエラーですか? jTidyにこれをさせないようにする方法はありますか? (HTML を変更することはできません)。これが絶対に修正できない場合、他に優れた HTML Tidiers はありますか? どうもありがとう!

0 投票する
2 に答える
1297 参照

html - JTidyに新しいタグを追加するにはどうすればよいですか?

(実世界の)HTMLからデータを抽出するためにjTidyを使用しようとしていますが、jTidyはカスタムタグを解析しません。

カスタムタグ間のテキストを取得できません。xpathを使用するため、jTidyを使用する必要があります。

HTMLCleanerを試しましたが、完全なxpath関数をサポートしていません。

0 投票する
2 に答える
2516 参照

dom - org.w3c.dom.Document を org.jdom.Document に変換する方法

をに変換する必要がありorg.w3c.dom.Documentます org.jdom.Document

私は次の次のことを試しました..

domBuilder.build(tidyDOM)次の例外をスローします。

0 投票する
1 に答える
938 参照

java - w3c HTML Validatorで使用されるJTidy(HTML-Tidy)構成

JTidy(HTML TidyライブラリのJavaポート)を使用して、いくつかの既存のサイトをスクラブしています。私がJTidyの構成を使用したとき、それは非常に厳密であるように思われ、ページの下部を切り落としてしまいます(マークアップが悪い)。

w3c HTMLバリデーターツールのみを使用して同じマークアップを実行すると、クリーンアップされますが、書き換えがよりインテリジェントになります。タグを切り落とす代わりに、欠落しているタグがどこにあるかをインテリジェントに推測し、それに応じて構造を更新するようです。

w3cが使用するHTML-Tidy構成を知っている人はいますか?

私のjtidy構成は次のとおりです。