zoukankan      html  css  js  c++  java
  • HtmlAgilityPack 解析HTMl 真不错

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using HtmlAgilityPack;




    namespace DemoCnBlogs
    {
        class Program
        {
            static void Main(string[] args)
            {
                HtmlWeb web = new HtmlWeb();
                HtmlDocument doc = web.Load("http://www.cnblogs.com/pick/");


                HtmlNode node = doc.GetElementbyId("post_list");


                StreamWriter sw = File.CreateText("log.txt");


                foreach (HtmlNode child in node.ChildNodes)
                {
                    if (child.Attributes["class"] == null || child.Attributes["class"].Value != "post_item")
                        continue;
                    HtmlNode hn = HtmlNode.CreateNode(child.OuterHtml);


                    ///如果用child.SelectSingleNode("//*[@class=\"titlelnk\"]").InnerText这样的方式查询,是永远以整个document为基准来查询,
                    ///这点就不好,理应以当前child节点的html为基准才对。


                    Write(sw, String.Format("推荐:{0}", hn.SelectSingleNode("//*[@class=\"diggnum\"]").InnerText));
                    Write(sw, String.Format("标题:{0}", hn.SelectSingleNode("//*[@class=\"titlelnk\"]").InnerText));
                    Write(sw, String.Format("介绍:{0}", hn.SelectSingleNode("//*[@class=\"post_item_summary\"]").InnerText));
                    Write(sw, String.Format("信息:{0}", hn.SelectSingleNode("//*[@class=\"post_item_foot\"]").InnerText));


                    Write(sw, "----------------------------------------");


                }


                sw.Close();


                Console.ReadLine();
            }


            static void Write(StreamWriter writer, string str)
            {
                Console.WriteLine(str);
                writer.WriteLine(str);
            }




        }
    }
  • 相关阅读:
    Oracle从入门到精通(笔记)
    MongoDB教程(笔记)
    深入浅出Oracle:DBA入门、进阶与诊断案例(读书笔记2)
    深入浅出Oracle:DBA入门、进阶与诊断案例(读书笔记1)
    获取本周、本季度、本月、上月的开始日期、结束日期
    TortoiseSVN新人使用指南
    Eclipse创建java web工程
    supersock问题
    UDP错误10054:远程主机强迫关闭了一个现有的连接
    【转】javascript深入理解js闭包
  • 原文地址:https://www.cnblogs.com/eaglezzb/p/4176511.html
Copyright © 2011-2022 走看看