Ejemplo n.º 1
0
        public static CursePageLink TryPraseSpan(string html)
        {
            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml("<html>" + html + "</html>");
            var           a = doc.DocumentNode.SelectSingleNode("//span");
            CursePageLink l = new CursePageLink();

            if (null != a)
            {
                l.href      = null;
                l.title     = a.InnerText;
                l.iscurrent = true;
                return(l);
            }
            return(null);
        }
Ejemplo n.º 2
0
        public static CursePageLink TryPraseLink(string html)
        {
            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml("<html>" + html + "</html>");
            var           a = doc.DocumentNode.SelectSingleNode("//a");
            CursePageLink l = new CursePageLink();

            if (null != a)
            {
                l.href  = a.GetAttributeValue("href", "");
                l.title = a.InnerText;
                if (l.title.ToLower().Equals("prev"))
                {
                    l.ispre = true;
                }
                if (l.title.ToLower().Equals("next"))
                {
                    l.islast = true;
                }
                return(l);
            }
            return(null);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 解析分页
 /// </summary>
 /// <param name="html"></param>
 /// <returns></returns>
 public static List <CursePageLink> PrasePages(string html)
 {
     try
     {
         HtmlDocument doc = new HtmlDocument();
         doc.LoadHtml(html);
         var          pl  = doc.DocumentNode.SelectSingleNode("//ul[@class='b-pagination-list paging-list j-tablesorter-pager j-listing-pagination']");
         HtmlDocument lis = new HtmlDocument();
         lis.LoadHtml(pl.InnerHtml);
         var pls = lis.DocumentNode.SelectNodes("//li");
         List <CursePageLink> pages = new List <CursePageLink>();
         foreach (var li in pls)
         {
             if (li.HasClass("b-pagination-item"))
             {
                 CursePageLink l = CursePageLink.TryPraseLink(li.InnerHtml);
                 if (null == l)
                 {
                     l = CursePageLink.TryPraseSpan(li.InnerHtml);
                 }
                 pages.Add(l);
             }
             else
             {
                 CursePageLink dot = new CursePageLink("...", null);
                 dot.isdot = true;
                 pages.Add(dot);
             }
         }
         return(pages);
     }
     catch
     {
         return(null);
     }
 }