HtmlAgilityPack解析html

1、下载库:http://htmlagilitypack.codeplex.com/

2、添加相应库到项目中。参考:vs2013中c#引用第三方库

3、引入包:using HtmlAgilityPack;

4、相关方法:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(content);
string updateTime = doc.GetElementbyId("tabDays").SelectSingleNode("./p").InnerHtml.Replace("更新", "");
DateTime DT_updateTime = DateTime.Parse(updateTime);

HtmlNodeCollection dataNode = doc.DocumentNode.SelectNodes("//ul[@id='Hour3']/li");  //我们要爬取得数据都在这里
foreach (HtmlNode node in dataNode)
{
    //抽取今天的天气预报
    if (node.GetAttributeValue("data-dn","") == "7d1") {
       。。。 
    }
    //抽取明天的天气预报
    else if (node.GetAttributeValue("data-dn", "") == "7d2")
    {
       。。。
    }
}

4、额外补充。

    一直都期望找一个有像jquery一样选择器的html解析器,终于找到一个:jumony(http://jumony.codeplex.com/),但是它的解析速度不敢恭维,权衡了一下,还是用htmlagilitypack,其选择器xpath其实也挺方便的。

0 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注