如何只下载部分页面?

时间:2015-01-03 09:55:32

标签: c#

我的网站上有100页,但我只想下载一页而不是所有页面内容。

我只想下载每个页面一个方框,文件大小为10 KB。 为此,我使用WebClient和htmlagilitypack。

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

enter image description here

2 个答案:

答案 0 :(得分:7)

不幸的是,这是不可能的,因为HTTP并非旨在提供网页的特定部分。它确实支持range requests,但为此您需要知道所需内容的确切位置(以字节为单位)。

你可以

  • 下载整个页面,然后
  • 使用HTML解析库来提取您需要的部分。

答案 1 :(得分:0)

你无法做到这一点。

唯一解决方案正在改变网站结构本身。如果你能控制服务器 -

更改网站的体系结构,通过 ajax 调用访问此框中的数据。 现在您可以通过WebClient获取数据。 如果该数据已通过API调用提供,则可以将WebClient指向该URI。

以下是基于ajax构建网站的示例 - AJAX with jQuery and ASP.NET