問題タブ [html-agility-pack]
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.
c# - HTML Agility Pack - 特定のノードの後にノードを選択
コードプレックスのディスカッションで質問しましたが、ここでスタックオーバーフローでより迅速な回答を得たいと考えています。
そのため、C# での HTML 解析には HTML Agility Pack を使用します。私は次のhtml構造を持っています:
そして、クラス「特定」の p 要素の後に存在するクラス「段落」のすべての p 要素を取得する必要があります。
それを行う方法はありますか?
ありがとう。
c# - 不正な形式のコンテンツを含むWebページのスクレイピングの問題
世界最大の都市部(ページ2)にあるページをスクレイプするためにHtmlAgilityPackライブラリを利用するc#コードを作成しました。残念ながら、ページは不正な形式のコンテンツで構成されています。
このページをスクレイプする方法が行き詰まっています。私が持っている現在のコード(以下に表示)は、HTMLの解析時にフリーズします:
目標は、ページにリストされているすべての都市を各データポイントで解析することです。これ以上何もない。上記のコードを変更する方法、または無料で入手できる別のライブラリを使用する方法に関する推奨事項を探しています。
ありがとう!
c# - 閉じられていないhtmlタグがある場合にHtmlAgilityPackの問題を修正することは可能ですか?
さて私は次の問題を抱えています。
私が持っているhtmlは不正な形式であり、この場合、htmlアジリティパックを使用してノードを選択する際に問題が発生します。
コードは以下のとおりです。
問題は、String_A2_2が角かっこで囲まれていることです。
したがって、htmlagility packは、lststrTextで4つではなく5つの文字列を返します。
それで、htmlagilityパックが要素3を次のように返すようにすることは可能
"<strong>Elem_A</strong>String_A2_2 <String_A2_2> asdas"
ですか?
または多分私は要素を閉じるためにいくつかの前処理を行うことができますか?
lststrTextの現在のコンテンツは
c# - HtmlAgilityPack で内部ノードを維持しながら、ノード タイプを #text に変更する
HtmlAgilityPackを使用して、HTML に変換する XML ファイルを解析しています。一部のノードは、同等の HTML に変換されます。内容を維持したまま不要なものを削除する必要があります。私はそれを #text ノードに変換しようとしましたが、うまくいきませんでした。これが私のコードです:
最後に、ノードが見つからない場合は、ノードの置換を行う必要があります ("Replace with #text" コメントが表示されている場所)。私は一日中髪(残っているもの)を引き裂いていますが、それはおそらく何かばかげたことです. コンパイルのヘルプを得ることができず、オンライン バージョンもありません。スタックオーバーフローを助けて!あなたは私の唯一の希望です。;-)
c# - ほとんどの画像でノードを並べ替えますか?
これは少し複雑に聞こえるかもしれませんが、私がやりたいことは、<a>
s を含むすべての s を見つけ<img>
て、他の画像の数が最も多い同じノードにある画像が最初に選択されるようにすることです。
たとえば、私のページが次のようになっているとします。
http://img684.imageshack.us/img684/5678/imagechart.gif
青い四角が<div>
で、ピンクの四角が である<img>
場合、中央div
に最も多くの画像が含まれており、それらの画像が最初に選択されます。それらはそれ以上ネストされていないため、ページ上にある順序で表示されます。次に、最初の div が選択されます (2 番目に多い画像が含まれます)。
一種の再帰的に考えることができます。最初にbody
が選択されます。これは、常に最も多くのイメージが含まれているためです。次に、直接の子のそれぞれを調べて、最も多くのイメージの子孫 (必ずしも直接的ではない) を含むものを確認します。次に、そのノードに移動し、繰り返します...
c# - この HTML を解析するにはどうすればよいですか?
おはよう!私はc#(フレームワーク3.5sp1)を使用しており、正規表現を介して次のhtmlを解析したい:
次の出力が必要です:
- グループ 1: h1 の内容
- グループ 2: h1 に続くテキストの内容
- グループ 3-n: サブキャプションの内容 + テキスト
私が持っているもの:
これにより、末尾の<hr/>
. h1-キャプションを解析するために、別のパターン ( <h1.*?>(.*?)</h1>
) があります。これは、キャプションのみを提供し、コンテンツは提供しません。その atm で問題ありません。
誰かが私または代替ロジックのためのヒント/解決策を持っていますか?
編集: HTMLAgilityPack
を導入した人もいるので、この素晴らしいツールに興味がありました。-tagのコンテンツを取得できました。
しかし...私の問題は残りを解析しています。原因: コンテンツのタグが異なる場合があります - toと... atm これは多かれ少なかれドキュメント全体を反復し、タグのタグを解析しているようです ...? ヒントはありますか?<h1>
<p>
<div>
<ul>
c# - HTMLAgilityPackを使用してプレフィックス付きのタグを削除する
HAPを使用してプレフィックス付きのタグにアクセスしようとしていますが、以下は機能しません(何も返されません)。
何かご意見は?
編集:
HTMLは次のようになります。
<p>Men's Standings<br />
<sc:xslfile runat="server" datasource="/Global/Tables/1_01/9859_" id="WC_9859"></sc:xslfile>
<br /><br /><br />
Women's Standings
<br /><sc:xslfile runat="server" datasource="/Global/Tables/1_01/9860_" id="WC_9860"></sc:xslfile></p>
@Pat、私はstartsを試しましたが、それでもうまくいきません。
タグが空だからか?
c# - すべて選択HTMLAgilityPack を使用してノードの子から
HTMLページを取得するために使用している次のコードがあります。URLを絶対にしてから、リンクをrel nofollowにして、新しいウィンドウ/タブで開きます。私の問題は、属性を<a>
s に追加することです。
誰かが私が間違っていることを見ることができますか? ここでしばらく試してみましたが、運がありませんでした。このコードは、 ContentNode.SelectNodes("/a") がオブジェクトのインスタンスに設定されていないことを示しています。蒸気を0に設定してみますか?
乾杯、デニス
c# - HTML Agility Pack を使用して Web サイトからすべての画像を取得するにはどうすればよいですか?
HTMLAgilityPack をダウンロードしたばかりですが、ドキュメントに例がありません。
Web サイトからすべての画像をダウンロードする方法を探しています。物理イメージではなく、アドレス文字列。
各 img タグのソースを取得する必要があります。図書館とそれが提供できるものを感じたいだけです。誰もが、これが仕事に最適なツールだと言いました。
編集