从网站页面中选择特定文本

时间:2014-02-14 08:15:25

标签: c# web

我使用以下代码获取网页内容:

static void Main(string[] args)
{
    using (var client = new WebClient())
    {
        var pageContent = client.DownloadString("http://www.modern-railways.com");
        Console.WriteLine(pageContent);
        Console.ReadLine();
    }
}

这就是我得到的:

…….News: <span class='articleTitle'>Victoria Metrolink improvement begins</span></a></h1><p><a href='/view_article.asp?ID=7541&pubID=37&t=0&s=0&sO=both&p=1&i=10' class='summaryText' data-ajax='false'>Published 13 February 2014, 11:28</a></p><div class='articleContent ui-widget ui-widget-content ui-helper-clearfix ui-corner-all '….

我需要在pageContent中捕获所有“articleTitle”和已发布的日期,其中有几个。我怎样才能做到这一点?我需要一些指导。

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式来完成挑战:

var regex = new Regex(@"<span class='articleTitle'>(.+?)</span>");

var match = regex.Match(pageContent);

var result = match.Groups[1].Value;

上面的代码将起作用,假设标签每次都以完全相同的方式构建。

foreach (Match itemMatch in regex.Matches(pageContent))
{
    var articleTitle= itemMatch.Groups[1].Value;
    //TODO do what you need with the articleTitle (e.g. add to a list)
}