2014-02-14 29 views
0

我使用此代碼獲取網頁內容:選擇從網站頁面的特定文本

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 '…. 

我需要捕獲所有的「articleTitle」和出版日期在pageContent中,其中有幾個。我怎樣才能做到這一點?我需要一些方向。

回答

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) 
} 
+0

謝謝。它是我的工作,但它只顯示頁面中的第一個標題,我不得不把它們全部寫入。 – Nullbyte