C#使用正则表达式从HTML网页中提取特定段落

时间:2017-09-25 01:55:20

标签: c# html .net vb.net

例如,我想从socialblade获取youtube音乐的子计数。我可以使用string rawWeb = webStream.DownloadString("https://socialblade.com/youtube/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ/realtime")

下载该页面

但是我无法理解如何将我想要的文本(行:295 <p id="rawCount" style="display: none;">98199073</p>)与其余代码分开,并从那里如何单独输出数字

我得到正则表达式将是最好的方法,但我无法围绕格式。似乎没什么用。如果你能提供帮助,我们将不胜感激:)

*使用.NET 4.5.2

1 个答案:

答案 0 :(得分:0)

Regex is the wrong approach to this, you are far better off using the HTML agility Pack (Install with Nuget)

http://html-agility-pack.net/

的正确方法

然后使用C#

.then

VB

var url = "https://socialblade.com/youtube/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ/realtime";
var web = new HtmlWeb();
var doc = web.Load(url);

var n = doc.DocumentNode.Descendants().FirstOrDefault(d => d.Id == "rawCount")?.InnerText;
Console.WriteLine(n);

enter image description here