.NETを使用して動的に生成されたHTMLコードを取得することは、多くの人にとってとらえどころのないタスクでした。 system.windows.forms.webbrowserクラスとMicrosoft HTMLオブジェクトライブラリアセンブリからのcomインターフェイスmshtml.htmldocumentが提案されていますが、その実装は挑戦的であることが証明されています。 WebブラウザによってレンダリングされたHTMLコード。 「https://www.google.com/#q = where Am」に移動したWebページのdomdocumentにアクセスしても、レンダリングされたページに表示される動的に生成されたデータを取得できません。直接目的の結果は提供されません。 System.net.WebClientを使用して指定されたURLからRAW HTMLをダウンロードし、IHTMLDOCUMENT2インスタンスに書き込むことで、動的に生成されたデータをキャプチャできません。現在のHTMLスナップショットを継続的にポーリングし、WebbrowserのIsbusyプロパティをチェックすることにより、ページがいつレンダリングを終了したかを判断できます。このアプローチは、HTMLコードを早期に取得する可能性を大幅に削減します。これを緩和するには、ポーリングロジックの上にタイムアウトメカニズムを実装することをお勧めします。この設定は、最新のWebテクノロジーとの互換性を確保し、レンダリングの精度を向上させるために調整できます。 Webbrowserコントロール、ポーリングロジック、およびASYNC/ASYNC/WAINTコンストラクトを使用して、特定のURLから動的なHTMLコンテンツを取得します。その結果、動的なHTML抽出の必要性に応えるより正確でユーザーフレンドリーなソリューションが得られます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3