Python实现京东价格监控

现在网上东西越来越难抢了,所以有了监控京东产品价格的想法。

主要实现以下功能:
长期监控某产品价格
当价格降低时通过弹框和邮件形式提醒
保存产品价格数据,便于日后分析

整个程序最主要的几个模块如下:

1.价格监控模块
主要通过京东产品价格数据接口获取数据。该数据接口分为PC端价格、手机端价格、QQ端价格和微信端价格四部分,我们将这四部分数据全部获取,并将其存入priceMatrix列表之中。

#获取京东商品价格函数
def getJDprice(address,time):

    #获取京东商品的ID号
    reg = r'https://item.jd.com/(.*?).html'  
    idre = re.compile(reg)  
    idlist = re.findall(idre,address)
    id = "".join(idlist[0])

    #通过数据接口查询京东商品价格
    #pc端价格数据接口  
    url1='https://p.3.cn/prices/mgets?type=1&skuIds=' + 'J_' + id
    #手机端价格数据接口  
    url2='https://p.3.cn/prices/mgets?type=2&skuIds=' + 'J_' + id
    #QQ端价格数据接口  
    url4='https://p.3.cn/prices/mgets?type=4&skuIds=' + 'J_' + id
    #微信端价格数据接口  
    url5='https://p.3.cn/prices/mgets?type=5&skuIds=' + 'J_' + id

    try:
        headers = {
  'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}

        #pc端价格
        request = urllib2.Request(url = url1,headers = headers)
        html1 = urllib2.urlopen(request).read()
        reg = r'"p":"(.*?)"'  
        pricere1 = re.compile(reg)  
        pricelist1 = re.findall(pricere1,html1)
        price1 = "".join(pricelist1[0])

        #手机端价格
        request = urllib2.Request(url = url2,headers = headers)
        html2 = urllib2.urlopen(request).read()
        reg = r'"p":"(.*?)"'  
        pricere2 = re.compile(reg)  
        pricelist2 = re.findall(pricere2,html2)
        price2 = "".join(pricelist2[0])

        #QQ端价格
        request = urllib2.Request(url = url4,headers = headers)
        html4 = urllib2.urlopen(request).read()
        reg = r'"p":"(.*?)"'  
        pricere4 = re.compile(reg)  
        pricelist4 = re.findall(pricere4,html4)
        price4 = "".join(pricelist4[0])

        #微信端价格
        request = urllib2.Request(url = url5,headers = headers)
        html5 = urllib2.urlopen(request).read()
        reg = r'"p":"(.*?)"'  
        pricere5 = re.compile(reg)  
        pricelist5 = re.findall(pricere5,html5)
        price5 = "".join(pricelist5[0])

        #获取系统时间
        timestamp = time

        #将数据存入列表
        priceMatrix = [timestamp,price1,price2,price4,price5]
        print 'Time           : ' + priceMatrix[0]
        print 'JD id          : ' + id
        print 'PC        price: ' + price1
        print 'Cellphone price: ' + price2
        print 'QQ        price: ' + price4
        print 'Wechat    price: ' + price5
        print '\n'

        return priceMatrix    

    except urllib2.URLError, e:
        
  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值