我正在尝试解析这个 page ,但我没有太多独特的信息来唯一标识我想要的部分。
基本上,我正在尝试获取 Flash 视频的大部分数据。所以:
Alternating Floor Press
Type: Strength
Main Muscle Worked: Chest
Other Muscles: Abdominals, Shoulders, Triceps
Equipment: Kettlebells
Mechanics Type: Compound
Level: Beginner
Sport: No
Force: N/A
还有显示前后状态的图像链接。
现在我用这个:
HtmlAgilityPack.HtmlDocument doc = web.Load ( "http://www.bodybuilding.com/exercises/detail/view/name/alternating-floor-press" );
IEnumerable<HtmlNode> threadLinks = doc.DocumentNode.Descendants ( "a" );
foreach ( var link in threadLinks )
{
string str = link.InnerHtml;
Console.WriteLine ( str );
}
这给了我很多我不需要的东西,但也打印了我需要的东西。我是否应该通过尝试查看我的目标数据可能在其中的位置来解析此打印数据?
最佳答案
您可以选择您感兴趣的节点的id:
HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.bodybuilding.com/exercises/detail/view/name/alternating-floor-press");
IEnumerable<HtmlNode> threadLinks = doc.DocumentNode.SelectNodes("//*[@id=\"exerciseDetails\"]");
foreach (var link in threadLinks)
{
string str = link.InnerText;
Console.WriteLine(str);
}
Console.ReadKey();
关于c# - 如何使用 html agility pack 解析一个简单的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717801/