提取数据网页

oL.*_*oL. 2 .net c#

伙计们,我正在尝试使用C#从网页中提取数据..目前我使用了WebReponse中的Stream,并将其解析为一个大字符串.这是漫长而痛苦的.有人知道从网页中提取数据的更好方法吗?我说WINHTTP但不适合c#..

Dar*_*rov 5

要从网页下载数据,使用WebClient更容易:

string data;
using (var client = new WebClient())
{
    data = client.DownloadString("http://www.google.com");
}
Run Code Online (Sandbox Code Playgroud)

要解析下载的数据,只要它是HTML,您就可以使用优秀的Html Agility Pack库.

这是一个从给定页面中提取所有链接的完整示例:

class Program
{
    static void Main(string[] args)
    {
        using (var client = new WebClient())
        {
            string data = client.DownloadString("http://www.google.com");
            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml(data);

            var nodes = doc.DocumentNode.SelectNodes("//a[@href]");
            foreach(HtmlNode link in nodes)
            {
                HtmlAttribute att = link.Attributes["href"];
                Console.WriteLine(att.Value);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)