如何在C#项目中使用html-agility-pack或Regex在HTML内部定界?

时间:2019-06-24 11:55:42

标签: c# regex html-agility-pack

我正在Windows窗体中使用带有C#的Html Agility Pack,并且在html页面搜索中获得了不错的结果。

但是,查询返回页面的整个html,我只需要帖子的内容,因为其余的都是不必要的链接和文本。

阅读html后重要的内容介于:
<span class = "update-date"> 23/06/2019 16h17 '<' / span '>' <'/ span'> '' <'/ p'> '

'<' p class = "col-lg-24" '>'.

我尝试使用正则表达式,但没有成功。

在这种情况下,我使用了错误的.SelectNodes?

这是一个示例:(基于https://dotnetfiddle.net/ltDevV的示例)

// @nuget: HtmlAgilityPack 
using System; 
using System.Xml; 
using HtmlAgilityPack;

public class Program
{
    public static void Main()
    { 
        var html = 
    @"https://economia.uol.com.br/noticias/redacao/2019/06/23/aposentadoria-pensao-camara-deputados.htm";

        HtmlWeb web = new HtmlWeb();

        var htmlDoc = web.Load(html);

        var htmlNodes = htmlDoc.DocumentNode.SelectNodes("//p");

        if(htmlNodes!=null)
        {

            foreach (var node in htmlNodes)
            {               
                Console.WriteLine(node.OuterHtml);              
            }
        }
        else
        {
            Console.WriteLine("Oh OK.");    
        }
    }
}

我希望能够最终获得标签之间的内容
 <span class = "update-date"> 23/06/2019 16:17 '<' / span '>' <'/ span'> '' < '/ p'> 'e' <'p class = "col-lg-24"'> '

0 个答案:

没有答案