1

WebClient.DownloadString残念ながら、Web ページをスクラップするためにを使用しDownloadStringていますが、CSS と JS の更新 (ページの読み込み中に Internet Explorer で行われる) なしでページ ソースを取得します。

WebBrowserそれで、インターネットエクスプローラーやコントロールと同じように、WebClientを使用してページ全体をロードするにはどうすればよいのでしょうか? (css および js コード インジェクションを使用)

4

2 に答える 2

1

それで、インターネットエクスプローラーやWebBrowserコントロールと同じように、WebClientを使用してページ全体をロードするにはどうすればよいのでしょうか?

そんなことはできません。このWebClientクラスは、HTTP プロトコルを使用してSINGLEリソースをダウンロードするために使用されます。HTMLの概念を理解していません。この HTML で関連するリソースをダウンロードする必要がある場合は、HTML パーサー (HTML Agility Pack例など) を使用する必要があります。また、ダウンロードした HTML ページで検出された CSS と JavaScript ごとに、別の HTTP 要求を WebClient で送信して取得する必要があります。

ただし、スクレイピングしようとしている Web ページによっては、より複雑になる可能性があることに注意してください。たとえば、Web ページに javascript が含まれている可能性があり、これが動的に参照し、javascript や CSS などの他の静的リソースを含めます。WebClient は、javascript を実行しないため、それらについて決して認識しない可能性があります。

于 2013-07-07T15:03:01.880 に答える
0

あなたにとって最善の解決策は ( https://htmlagilitypack.codeplex.com/ ) です。これにより、ウェブページのすべてのコンテンツがダウンロードされますが、このツールを使用して css+javascript コードを取得できるかどうかはわかりません。

于 2016-03-23T10:22:09.273 に答える