用程序获取商品售价变化,买到最低价的东西(二)

小伙伴们还记得上上期

用程序获取商品售价变化,买到最低价的东西(一)

我们教大家从京东的网站上

获取到我们心仪商品的售价,

大家有没有去实践一下呢

但这时候,

离我们想要的售价变化还差了一些,

差了变化,差了通知。

今天我们就来聊一聊怎么监控变化,

和价格变化后怎么通知我们~

监控变化:

按我们的思路,如果是手工去做的做,那就是找一张白纸,然后把itemId(或者商品的名称) ,价格给抄下来,然后过个5分钟,或者1个小时,再去看一眼,看价格是不是比我们记录的低,如果是的话,那就可以下手啦。

在我们的程序中,因为只有这一个商品,所以可以用一个全局变量来存价格,如果有多个品,可以用Map<String,Double>来存:<名字,价格>

private static double price ;

用程序获取商品售价变化,买到最低价的东西(二)

在获取到价格时,先提取 后面的数字,然后转成double,代码如下:

     //通过id获取到对应的元素

            Elements eles =doc.select("#priceSale");

            String text = eles.get(0).text();

            //截取¥后面的价格,并转成double

            double newPrice = Double.valueOf(text.substring(1));

            //和原有的double 进行比较,如果小于则替换,并通知

            if(newPrice<price){

                System.out.println(MessageFormat.format("原价格是:{0},现价格是:{1}", price,newPrice));

                price = newPrice;

            } 

用程序获取商品售价变化,买到最低价的东西(二)

此处,

为了运行有效果, 

price初始化为10000

private static double price = 10000;

用程序获取商品售价变化,买到最低价的东西(二)

用程序获取商品售价变化,买到最低价的东西(二)

现在这只是一次监视的效果。然后将代码进行改造,达到每隔一段时间自动获取一次价格的效果。

一般在写工具类时,为了方便,如直接在main函数里面写,调试完成之后,然后把main函数的方法名一改,就可以做成一个对外公开的工具类,然后再新建一个main函数 ,调用刚才改名的方法,如下图所示:

用程序获取商品售价变化,买到最低价的东西(二)

现在我们只需要每隔一段时间,对checkPrice这个方法调用就可以了,我们很容易会想到用while的形式,通常这种循环会加上一个标识位,标识什么时候可以退出循环。也可以一直true循环,然后循环体中break; 本例中采用第一种方式,

代码如下:

public static void main(String[] args) {

        while(!notifyFlag){

            checkPrice();

            //每五分钟查一次

            try {

                Thread.sleep(5*60*1000);                

            } catch (InterruptedException e) {

                e.printStackTrace();

            }

        }

    }

if(newPrice<price){

                System.out.println(MessageFormat.format("原价格是:{0},现价格是:{1}", price,newPrice));

                price = newPrice;

//修改退出标识

                notifyFlag = true;

            } 

这样就完成了每隔一定时间去请求一次,看是否有降价。小伙伴们可以结合上篇文章一起试一下。

但我们不可能一直这样看着控制台,程序也不能发出声音告诉我们,明天我们一起写如何用邮件发送降价通知~

用程序获取商品售价变化,买到最低价的东西(二)

扫码我就亲你一口

用程序获取商品售价变化,买到最低价的东西(二)

用程序获取商品售价变化,买到最低价的东西(二)

这个是我们的官方微博哦~欢迎来撩~

用程序获取商品售价变化,买到最低价的东西(二)

谁说程序员木讷的,这里有用代码写出的三行情诗,了解一下~

饭后一笑|那些年被误会的程序员们~

工作后才发现.....

用程序获取商品售价变化,买到最低价的东西(二)

QQ群:661749608

微信群请点击公众号菜单进微信群

谢谢你的阅读,

是对我们最大的支持

都是宇宙超级无敌小可爱

用程序获取商品售价变化,买到最低价的东西(二)

 
                      
文字:微笑的小小刀

排版:花音