我想通过html-agility-pack从cvedetails.com解析受影响的版本表。我写了一个类似下面的代码。我通过木偶操纵者获得了表的原始HTML。via (VulnerabilityParser.GetAffectedVersionAsync ()函数)
string versionsTableRawHTML = await VulnerabilityParser.GetAffectedVersionAsync(AffectedVersionsSelector);
var versionsTable = new HtmlDocument();
versionsTable.LoadHtml(versionsTableRawHTML);
foreach (HtmlNode table in versionsTable.DocumentNode.SelectNodes("//tr/td"))
{
var row= table.SelectSingleNode("//tr/td[5]").InnerText;
}结果如下所示为我的row变量。“\n\t\t1\t\t”
我查过目标网站了。它不在里面。造成这一结果的原因是什么?我应该如何解析它呢?
发布于 2020-08-04 13:14:08
要获取表中的行,可以遵循下面的方法
HtmlWeb mWb = new HtmlWeb();
HtmlDocument mDoc= mWb.Load("https://www.cvedetails.com/cve/CVE-2019-16223/");
var rows = mDoc.DocumentNode.SelectNodes("//td[@class='num']");
foreach (var row in rows)
{
//Each row number
Console.WriteLine(row.InnerText);
}要获得其他列,可以遵循相同的方法,在长度为700的for循环中拆分所有行
https://stackoverflow.com/questions/63229971
复制相似问题