我如何获取网页的内容并将其保存到字符串变量中

时间:2010-12-22 14:32:43

标签: c# asp.net screen-scraping

如何使用ASP.NET获取网页内容?我需要编写一个程序来获取网页的HTML并将其存储到字符串变量中。

4 个答案:

答案 0 :(得分:106)

您可以使用WebClient

WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.gooogle.com");

答案 1 :(得分:70)

之前我遇到过Webclient.Downloadstring的问题。如果你这样做,你可以试试这个:

WebRequest request = WebRequest.Create("http://www.google.com");
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
    html = sr.ReadToEnd();
}

答案 2 :(得分:22)

我建议使用WebClient.DownloadString 。这是因为(至少在.NET 3.5中) DownloadString不够智能,无法使用/删除BOM,如果它存在。 这可能导致BOM({ {1}})在返回UTF-8数据时错误地显示为字符串的一部分(至少没有字符集) - ick!

相反,这种轻微的变化将适用于物料清单:



答案 3 :(得分:9)

Webclient client = new Webclient();
string content = client.DownloadString(url);

传递您想要获取的网页的网址。您可以使用htmlagilitypack解析结果。