C# 将网页html下载到html文档中

C# 将网页html下载到html文档中,c#,html,.net,C#,Html,.net,我想得到一个网页的html。对于这个html,有两个元素是我想要阅读的xpath。我对这个话题几乎一无所知 在搜索时,我不断看到示例,但是它们加载url并将html放入字符串中。然而,我相信既然我有两个xpath,那么最好将网页的html作为html文档而不是字符串下载,或者我错了吗 using (WebClient client = new WebClient()) { string s = client.DownloadString(url); } 那么,如何将网页的html下载到

我想得到一个网页的html。对于这个html,有两个元素是我想要阅读的xpath。我对这个话题几乎一无所知

在搜索时,我不断看到示例,但是它们加载url并将html放入字符串中。然而,我相信既然我有两个xpath,那么最好将网页的html作为html文档而不是字符串下载,或者我错了吗

using (WebClient client = new WebClient()) {
    string s = client.DownloadString(url);
}

那么,如何将网页的html下载到可以搜索的html文档中?

您可以使用StreamWriter将下载的数据写入文件:

string s = string.Empty;
using(WebClient client = new WebClient()) 
{
  string s = client.DownloadString(url);
}

using (FileStream fs = new FileStream("test.html", FileMode.Create)) 
 { 
  using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) 
   { 
    w.WriteLine(s); 
   } 
  } 

我就是这样做的

所以首先在字符串变量中定义url。 然后使用HttpWebRequest类下载字符串。 我使用HtmlAgilityPack,所以您应该使用Nugger将其包含在项目中。 创建HtmlDocument的对象,并将数据加载到此对象。 现在,您可以浏览HtmlDocument


可能重复的@mason我应该添加我想这样做没有使用任何第三方代码。我不能在我的工作场所下载第三方的东西。你能提供一些关于XPath查询的信息吗?@levent我从这个问题中得到了XPath的想法,这很愚蠢。为什么不使用一个专门用于此任务的库呢?您已经询问了如何将html下载到一个文件中,然后否决了我的答案,该答案包含确切的信息,即使不使用任何外部库?不是很酷。最好将网页的html作为html文档下载-他试图说他需要了解如何将html文档解析为可通过xpath搜索的结构化文档。我同意这个问题的提法很差。
 string urlAddress = "url.com";

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 string data = "";
 if (response.StatusCode == HttpStatusCode.OK)
 {
 Stream receiveStream = response.GetResponseStream();
 StreamReader readStream = null;

 if (response.CharacterSet == null)
 {
     readStream = new StreamReader(receiveStream);
 }
 else
 {
     readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
 }

 data = readStream.ReadToEnd();


 response.Close();
 readStream.Close();
}

 HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
 document2.LoadHtml(data);