使用HtmlAgilityPack解析html以获取所需要的数据
问题描述:想要获取百度搜索风云榜的数据,经过处理后,只想得到关键词和搜索指数两列的数据
处理的时候,我是使用HtmlAgilityPack。
其中,关键词能够正常得到,获取关键词的代码如下:
[C#] 纯文本查看 复制代码
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a[@class=\"list-title\"]"))
{
string keyword = node.InnerText;
}
但是在获取关键词对应的搜索指数的时候,就只能获取第一个关键词的搜索指数,而后面的搜索指数没法获取,一直重复获取第一个。
代码如下:
[C#] 纯文本查看 复制代码
string html = GetHtml(url);
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
//加载html文档
doc.LoadHtml(html);
int count = 1;
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a[@class=\"list-title\"]"))
{
ListViewItem lvi = new ListViewItem();
lvi.SubItems[0].Text = (count).ToString();
lvi.SubItems.Add(node.InnerText);
//获取搜索指数
lvi.SubItems.Add(node.SelectSingleNode("//td[@class=\"last\"]").InnerText);
lvTopKeywords.Items.Add(lvi);
count++;
}
|