問題タブ [htmlcleaner]

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 投票する
2 に答える
243 参照

java - シンプルな HTMLserializer での NullPointerException


からhtmlを解析しようとしていTagNodeます。問題は、内部例外があり、それが機能しないことです。ここに私の電話があります:

もちろんルートはnullではなく、明らかにシリアライザーもnullではありません。

これはスタック トレースです。

更新:HtmlSerializerまたはTagNodeを使用せずに回避策を見つけました(すでに正常に抽出されたhtmlといくつかの文字列コマンドを使用)

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

android - htmlcleaner または jSoup でタグ内のテキストを抽出する方法

私は Android 開発の初心者で、HtmlCleaner や jSoup の基本を理解できません。

私はページを持っています、例えば

<b>..</b>タグ内の単語を抽出するにはどうすればよいですか?

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

java - XPath 式、1 つのノードに 2 つの文字列

html フォームをダウンロードし、htmlCleaner でクリーンアップしました。もともとは次のように見えました (現在は適切に形成されていますが、それを表示する簡単な方法がわかりません。これで十分だと思います):

「ユーザー名を入力してください」と「理由」を2つの別々の文字列で抽出するXPath式はありますか? また、htmlCleaner はすべての式をサポートしているわけではありません。可能な式の ->リスト<- を次に示します。

ありがとう

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

android - Android、適切な HTMLCleaner の使用法

基本的にここで独自のことをやろうとする必要があることはわかっています。ここはリクエストを行う場所ではありませんが、Html から何かを読み取らなければならないのは本当に嫌いです。その方法が本当にわかりません。

それで、私は 150 ポイントの報奨金を授与します (私が安いというわけではありません。私はこれ以上何もできません :( ) 良い助けを得ることができれば、または少なくともサンプル コードで正しい方向に向けられることができれば。 .

私は何を達成しようとしていますか?

  • 次のNASA のページから最新ニュースを取得しようとしています。
  • このニュースを ListView に表示する予定です。もちろん、ListView には最初は表示されるコンテンツがほとんどなく、上のページから入手できるデータのみが表示されます。ここに簡単なモックアップがあります。

それだけです。ユーザーがリンクをクリックすると、記事全体を表示する別のフラグメントに移動します。これが完了したら、後でその方法を見つけます。

そこで、次のビットで HtmlCleaner を使用してみました。

しかし、そこから、私はほとんど迷っています。XML出力は次のとおりです。ただし、記事のコンテンツごとに特定のタグ階層に何らかの繰り返しがあることに気付きました。次のようになります。左は画像と記事のリンク右は記事のタイトルとプレビュー コンテンツです。

クラス名の階層

だから、誰かがどうにかしてコンテンツを入手する方法を理解するのを手伝ってくれるなら、私はそれを大いに感謝します.

補足として、このプロジェクトは 2013 NASA International Space Apps Challenge の一環としての教育目的のためのものです。詳細はこちら.

おまけの質問として、同じリンクには、現在のメンバーを含む、現在、将来、および過去の遠征の情報が含まれており、遠征の各メンバーには、バイオ ページへのリンクがあります。

それらのタグは反復的ではないように見えますが、名前は事前に設定されていて一定のようで、「tab1」、「tab2」、「tab3」などがあります。

そこから得たいことは次のとおりです。

  • 遠征番号と日程。
  • 遠征メンバー
  • 各メンバーの略歴へのリンク。

繰り返しますが、もしあればサポートをありがとう、本当に感謝しています。

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

java - タグ付きのhtmlcleaner解析

ページの一部を抽出しようとしています。パーサー HtmlCleaner を使用すると、すべてのタグが削除されます。すべての html タグを保存する設定はありますか? それとも、何か他のものを使用して、コードのこの部分を抽出するより良い方法でしょうか?

私のコード:

nikhil.thakkar に感謝します! 私はJSONでこれを行います。コードは誰かを助けるかもしれません:

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

java - Java - Html 特殊文字を変換する際の問題

Java で Xpath を使用して HTML ページを解析しようとしています。これが私のコードです:

出力に次のように表示されるため、stringEscapeUtils または HtmlCleaner に問題があると思います。

これらの文字の代わりに:

たとえば、次の入力があります。

私のプログラムはこの出力を生成します:

この問題を解決するのを手伝ってくれませんか?

ありがとう。

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

java - Java - HTML 特殊文字

HTML ファイルに対して XPath リクエストを作成したいと考えています。これが私のコードです:

私の HTML ファイルは UTF-8 でエンコードされています (meta タグに記述されています)。私の問題は出力です。私はこれを得る:

これの代わりに、これは私の望ましい出力です:

問題を解決するアイデアはありますか?

ありがとう。

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

java - Android アプリで HTML Cleaner + XPath が機能しない

私は単純なニュース リーダー アプリを構築しており、HTMLCleaner を使用してデータを取得および解析しています。たとえば、HTMLCleaner のコマンドライン バージョンと xmllint を使用して、必要なデータを正常に取得できました。

java -jar htmlcleaner-2.6.jar src=http://www.reuters.com/home nodebyxpath=//div[@id=\"topStory\"]

curl www.reuters.com | xmllint --html --xpath //div[@id='"topStory"'] -

どちらも必要なデータを返します。次に、コードで HTMLCleaner を使用してこのリクエストを作成しようとすると、結果が得られません。さらに厄介なのは、//divコマンド ラインが正しい 70+ を報告しているのに、アプリで 8 つのノードしか返さないような基本的なクエリでさえあることです。

ここに私が今持っているコードがあります。これは拡張する Android クラスにAsyncTaskあるため、バックグラウンドで実行されます。最終的なコードは実際に必要なテキスト データを取得しますが、結果を返すだけで問題が発生します。タイトル ノードをログに記録すると、ノード数がゼロになります。

xpath クエリ文字列をエスケープするあらゆる方法を試しましたが、違いはありません。HTMLCleaner コードは私のプロジェクトの別のソース フォルダーにあり、(少なくとも私が思うに) 私のアプリの残りの部分で dalvik にコンパイルされているので、互換性のない jar ファイルは問題になりません。

HTMLCleaner ファイルをダンプしようとしましたが、LogCat ではうまく機能せず、ダンプすると多くのページ マークアップが欠落しているため、HTMLCleaner が正しく解析せず、ほとんどのページを破棄していると思いましたが、どうすればよいでしょうか。コマンドライン版が正常に動作する場合は?

また、アプリはクラッシュせず、例外も記録されません。

どんな助けでも大歓迎です。ありがとうございました。

更新: 問題を http 要求に関係するものに絞り込みました。HTMLソースをアセットとしてロードすると、必要なものが得られるので、httpリクエストの受信に問題があることは明らかです。言い換えれば、使用lNode = cleaner.clean( getAssets().open("reuters.html") );は正常に機能します。