問題タブ [anglesharp]

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 に答える
2824 参照

c# - AngleSharp で特定の要素のみを読み込むにはどうすればよいですか?

現時点でAngleSharpを使用してHTML5を解析していますそれ?つまり、特定の要素を直接解析し、構造が実際に HTML5 であることを検証しますか?

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

c# - AngleSharp を使用したリソース ファイルの読み込み

AngleSharp および AngleSharp.Scripting.Javascript の nuget パッケージを空のプロジェクトにインポートして、javascript/css を適用した後に Web ページから html を解析できるかどうかを確認しました (ヘッドレス ブラウザーのように)。

http://pycoders.com/archive/ (ブラウザーで JavaScript を使用して入力されたニュースレターのアーカイブに移動します) をテスト URL として使用しています。

インラインJavaScript機能を示す基本的なサンプルスクリプトは私にとっては機能し、JavaScriptはhtmlがロードされた後に処理されます...しかし、実際のWebページをvar document = await browseingContext.OpenAsync(new Url("http://pycoders.com/archive/"), CancellationToken.None);ロードしても、外部ファイルリソースからロードされたスクリプト/ CSSは処理されません。

この問題をデバッグしようとした結果、IResourceLoader インターフェイスを、AngleSharp に含まれるデフォルトの ResourceLoader のコピーとして自分のプロジェクトに実装することになりました。ウェブサイトに対してファビコン リソース応答ストリームが返されるようですが、最初のスタイル リソース ファイル ( https:/ /s3.amazonaws.com/pycoders2/css/bootstrap.css ) は WebRequest によって ResponseStream にロードされません。

上記の css リソース ファイルの場合、実行中のコードは行に到達します_http.BeginGetResponse(ReceiveResponse, null);が、RecieveResponseメソッドは呼び出されません。

誰かがAngleSharpでリソースをロードするのを手伝ってくれることを願っています.AngleSharpは下降したhtmlパーサーのように見えます.javascript/cssの前処理はそれをうまく締めくくり、phantomjsとSeleniumの必要性を取り除きます.

編集:

HTML がレンダリングされるときに現在実行中のリソース タスクの詳細は次のとおりです。

https://s3.amazonaws.com/pycoders2/img/favicon.ico - RanToCompletion

https://s3.amazonaws.com/pycoders2/img/favicon.ico - RanToCompletion

https://s3.amazonaws.com/pycoders2/css/bootstrap.css - WaitingForActivation

https://s3.amazonaws.com/pycoders2/css/main.css - WaitingForActivation

http://fonts.googleapis.com/css?family=Lato:300,400,900 - RanToCompletion

https://s3.amazonaws.com/pycoders2/img/header.png - WaitingForActivation

http://us4.campaign-archive1.com/generate-js/?u=9735795484d2e4c204da82a29&fid=1817&show=200 - RanToCompletion

https://code.jquery.com/jquery-1.10.2.min.js - RanToCompletion

https://s3.amazonaws.com/pycoders2/js/bootstrap.min.js - WaitingForActivation

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

c# - トラバーサル中に変化するツリーを再帰的に反復するにはどうすればよいですか?

AngleSharpHTMLパーサーを使用してノードを置換および削除し、DOMツリーをトラバースしようとしています。この問題はこのライブラリに固有のものではなく、ツリーを再帰的に変更し、ツリー全体を確実に走査する方法に関する一般的な質問です。

このリスト を見てくださいmyCollection。ここで、各エントリはノード オブジェクトであり、子を持つ可能性があります。ライブ コレクションでもあります。

再帰関数でループを開始します。

Cノードをその子に置き換えることにしたとしましょう。したがって、リストは次のようになります。

これの問題は、再帰が間違っていることです。Lengthfor ループで説明されているよりも多くのノードが存在するため、すべての項目が再帰されるわけではありません。同様に、ノードを削除すると、リスト内で上に移動したノードがスキップされます。

再帰処理の結果として変更される可能性のあるツリーを再帰するにはどうすればよいですか? 唯一の方法は変更が加えられていないことを確認するまで、リストを何度も再帰していますか、それとも問題へのアプローチが間違っていますか?

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

c# - AngleSharp と LINQ を使用して Web サイトからデータを抽出する方法は?

以下のサイトから価格を抽出しようとしています。抽出にはAngleSharpを使用しています。ウェブサイトでは、価格は以下のとおりです (一例として)。

抽出には次のコードを使用しています。

ただし、アイテムを取得していませんが、ウェブサイトにはあります。私は何を間違っていますか?AngleSharpが推奨される方法ではない場合、何を使用すればよいですか? また、どのコードを使用すればよいですか?

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

c# - クエリに一致するリンクの一意のリストを取得する

angleharp を使用して Web ページを解析し、連絡先ページである可能性のあるリンクを検出しています。

これが私のコードです:

動作しますが、連絡先で PathName 値が重複しています。それぞれに対して 1 つの値のみを取得したいのですPathNameが、select/distinct が機能していません。

独自のカスタム比較子を作成する必要がありますか、または linq クエリを変更する方法はありますか? ホストとパス名だけで、他のデータは必要ありません。

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

anglesharp - AngleSharp のテキスト ノードに HTML を挿入するにはどうすればよいですか?

AngleSharp でドキュメントを解析しています。テキスト ノード (NodeName: "#text") があり、そこに HTML を挿入したいと考えています。確かに NodeValue を好きな値にリセットできますが、それでもテキスト ノードであるため、すべての角かっこはエスケープされます。

テキスト ノードの文字列値を取得し、そこに HTML を挿入し、その HTML が元のテキスト ノードに取って代わる解析済み DOM 表現を取得するにはどうすればよいですか?

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

c# - AngleSharp リターン スパン ID

HTML の特定の部分を返すことで、AngleSharp を把握しようとしています。

これまでのところ、それは私のコードです:

返してほしいのは、現在のアーティストで、次の html にある必要があります。

しかし、私は間違いを犯したようです....だから、誰かがここで私を助けて説明してくれたらうれしいです...

回答してくださった皆様、ありがとうございました。:)

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

c# - 複数の CSS 宣言を短縮形に組み合わせる方法

私は、AngleSharpを使用していくつかの CSS ファイルを解析し、それらの構造を比較して、それらから出力ファイルを作成しています。ツールは、すべての宣言を明示的にします。つまり、ソース ルールが次の場合です。

AngleSharp から次の出力が得られます。

これは、ルールを比較して変更を検出するのに適していますが、問題は、このルールを上記のような短縮形にどのように組み合わせることができるかということです。

したがって、別の例として、これから取得する方法は次のとおりです。

これに

CSS3宣言では実際に多くのパラメーターを使用できるため、状況はさらに悪化します...いくつかのCSS縮小/醜化ツールをチェックしましたが、ほとんどの場合、正規表現を使用して空白と小さな最適化を削除します。複数の宣言から最適な省略形を記述する既知の方法/ツール/ライブラリはありますか?