2015-01-03 3 views
7

私は自分のサイトに100ページありますが、すべてのページコンテンツの代わりにページの一部のみをダウンロードしたいのです。ページの一部のみをダウンロードするにはどうしたらいいですか?

各ページの1つのボックスをダウンロードするだけで、ファイルサイズは10 KBです。 これはWebClientとhtmlagilitypackを使用します。

WebClient Client = new WebClient(); 
var result = Encoding.GetEncoding("UTF-8").GetString(Client.DownloadData(URL)); 

enter image description here

+1

Upvoted - ここ

は、Ajaxに基づいてあなたのウェブサイトを構築する例です。 – cybermonkey

+0

@cybermonkeyありがとうございます –

+0

@cybermonkey画像を追加していただきありがとうございます。 –

答えて

7

HTTPがにWebページの特定の部分を提供するように設計されていないため、残念ながら、それは、不可能です。 range requestsをサポートしていますが、そのためには、目的のコンテンツがどこにあるかを正確に(バイト単位で)知る必要があります。

あなたは

  • 必要な部分を抽出するために、HTML構文解析ライブラリを使用
  • その後、ページ全体をダウンロードすることができます。
+0

これはPHPのGETリクエストを介して行うことができます。 URLに追加されたリクエストを送信し、必要なコンテンツのみを表示します。 – cybermonkey

0

これは達成できません。

解決策はウェブサイトの構造自体を変更しています。

ウェブサイトのアーキテクチャを変更して、ボックス内のデータをajaxコールでアクセス可能にします。 これでWebClient経由でデータを取得できます。 そのデータが既にAPI呼び出しを介して提供されている場合は、代わりにそのWebClientにそのURIを指すことができます。それはまともな質問だ。このため、 AJAX with jQuery and ASP.NET

+0

これはPHPのGETリクエストで行うことができます。 URLに追加されたリクエストを送信し、必要なコンテンツのみを表示します。 – cybermonkey

+0

私はOPがMicrosoft TechStackを使用していると仮定します。だから、私はそれに基づいています。 – rahulroy9202

関連する問題