引用HtmlAgilityPack插件,能够用HtmlAgilityPack类,例子以下:html
var doc = new HtmlAgilityPack.HtmlDocument();
// 网页源代码,若有缺乏,就补充完整.
if (html.IndexOf("<html>") >= 0 && html.IndexOf("</html>") > 0) doc.LoadHtml(html);
else
{
if (html.IndexOf("<body>") >= 0 && html.IndexOf("</body>") > 0) doc.LoadHtml("<html>" + html + "</html>");
else doc.LoadHtml("<html><body>" + html + "</body></html>");
}
// 得到解析文档根节点
var docNode = doc.DocumentNode;
// 使用XPath语法表达式,Select 查找出一个符合条件的节点
var title = docNode.SelectSingleNode("//div[@id='divContent']//h2[@class='left_title']");
// title 标题所在的节点,判断是否存在
if (title == null) return;
// 若是存在,就继续处理...
复制代码
SelectSingleNode("使用XPath语法"), 不会用的, 请先看下XPath教程, 再来尝试...node
XPath 表达式 | 描述 |
---|---|
nodename | 选取此节点的全部子节点。 |
/ | 从根节点选取。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |