zoukankan      html  css  js  c++  java
  • 京东优惠叠加的获取

    最近双十一,双十二,促销多的眼花缭乱,领了n多优惠卷,为了合理凑单实在是浪费了好多时间。

    于是这几天写了一个小工具,可以分析优惠卷凑单页里所有商品都参加哪些活动,这样能节约我们凑单的时间。

    可以快速找到 2件5折 又同时参加 199-100 活动的商品

    这样就可以开心的剁手啦

    这里我借鉴了很多前辈的经验

    大神1:http://www.cnblogs.com/asxinyu/p/CSharp_HtmlAgilityPack_XPath_Weather_Data.html

    大神2:https://www.cnblogs.com/jjg0519/p/6702833.html

    大神3:https://www.cnblogs.com/cpcpc/archive/2012/09/10/2679098.html

    大神4:https://blog.csdn.net/xing851483876/article/details/80817578

    大神5:http://www.cnblogs.com/xxue/p/9977801.html

    然后整理了一下各位大神的代码,写出这个小软件。

    编码很多年,水平实在抱歉。

    这个是获取优惠页最大页数。

    public int getMaxpage(string htmlstr)
            {
                int maxpage = 0;
                try
                {
                    string html = htmlstr;
                    HtmlDocument doc = new HtmlDocument();
                    doc.LoadHtml(html);
                    string goodClass = "//div[@id='J_topPage']";
                    //string goodClass = @"//*[@class='gl-item']/dl/dd";
                    HtmlNodeCollection noneNodeList = doc.DocumentNode.SelectNodes(goodClass);
                    foreach (var node in noneNodeList)
                    {
                        JDspxx jdspxx = new JDspxx();
                        HtmlDocument docChild = new HtmlDocument();
                        docChild.LoadHtml(node.OuterHtml);
    
                        var dc = docChild.DocumentNode.SelectSingleNode("//i");
                        maxpage = int.Parse(dc.InnerText);                    
                    }
                    return maxpage;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                return maxpage;
            }  

    这个是获取商品信息

    public List<JDspxx> reHtml(string htmlstr)
            {
                List<JDspxx> jdlist = new List<JDspxx>();
                try
                {
                    string html = htmlstr;
                    HtmlDocument doc = new HtmlDocument();
                    doc.LoadHtml(html);
                    string goodClass = "//li[@class='gl-item']";
                    //string goodClass = @"//*[@class='gl-item']/dl/dd";
                    HtmlNodeCollection noneNodeList = doc.DocumentNode.SelectNodes(goodClass);
                    foreach (var node in noneNodeList)
                    {
                        JDspxx jdspxx = new JDspxx();
                        HtmlDocument docChild = new HtmlDocument();
                        docChild.LoadHtml(node.OuterHtml);
    
                        string spmc = "//div[@class='p-name p-name-type-2']";
                        HtmlNodeCollection listspmc = docChild.DocumentNode.SelectNodes(spmc);
                        {
                            HtmlDocument docChild1 = new HtmlDocument();
                            docChild1.LoadHtml(listspmc[0].OuterHtml);
                            jdspxx.url = listspmc[0].ChildNodes[1].Attributes["href"].Value;
    
                            var dc = docChild1.DocumentNode.SelectSingleNode("//em");
                            jdspxx.spmc = dc.InnerText;
                        }
    
                        string price = "//div[@class='p-price']";
                        HtmlNodeCollection listprice = docChild.DocumentNode.SelectNodes(price);
                        {
                            HtmlDocument docChild1 = new HtmlDocument();
                            docChild1.LoadHtml(listprice[0].OuterHtml);
                            var dc = docChild1.DocumentNode.SelectSingleNode("//i");
                            jdspxx.price = dc.InnerText;
                        }
    
    
                        string yhxx = "//div[@class='p-icons']";
                        HtmlNodeCollection listyhxx = docChild.DocumentNode.SelectNodes(yhxx);
                        {
                            HtmlDocument docChild1 = new HtmlDocument();
                            docChild1.LoadHtml(listyhxx[0].OuterHtml);
                            var dclist = docChild1.DocumentNode.SelectNodes("//i");
                            List<Yhxx> yhlist = new List<Yhxx>();
                            if (dclist != null)
                            {
                                foreach (var dc in dclist)
                                {
                                    Yhxx yh = new Yhxx();
                                    yh.yh = dc.InnerText;
                                    yhlist.Add(yh);
                                    if (!Yhmc.yhmc.Contains(dc.InnerText))
                                    {
                                        Yhmc.yhmc.Add(dc.InnerText);
                                    }
                                }
                            }
                            jdspxx.yhlist = yhlist;
                        }
    
                        jdlist.Add(jdspxx);
                    }
                    return jdlist;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                return jdlist;
            }
    

      

     软件下载地址

    链接: https://pan.baidu.com/s/1p-kV0w11PpA6jNjsjhwEfw 提取码: c5gu 

  • 相关阅读:
    空气墙的制作,标签的添加
    子弹朝向问题的解决,移动方法的编写
    子弹的朝向问题
    坦克的攻击方法
    移动优先级的添加,2D渲染层级问题
    碰撞器的添加,解决抖动问题
    控制图片的移动切换
    控制玩家的移动
    游戏中预制体的制作,2D动画的制作
    场景搭建,素材的处理
  • 原文地址:https://www.cnblogs.com/ccqin/p/10155482.html
Copyright © 2011-2022 走看看