写着玩的,不用再去每天看要买的商品是否降价,如果降价就发布一条推文。

#!/usr/bin/env python
# coding: utf-8
import tweepy
import requests
import re
import sys
import datetime
import json
# 京东的编码是gbk
reload(sys)
sys.setdefaultencoding('gbk')head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36" }
today = str(datetime.date.today())
myfavourite = {          # 这里的价格是我期望的价格,非商品实际价格'789778':99.00,     # 汇源100%橙汁200ml*24盒'1169940':179.00    # 飞利浦(PHILIPS)HX6013/05标准型牙刷头3支装适用牙刷HX6730HX6761HX6511HX3216HX6972HX3130HX3120HX3110
}
# 通过商品id号获取商品名称
def getproductname(productid):url = 'http://item.jd.com/' + productid + '.html's = requests.session()r = s.get(url, headers=head)pattern_title = re.compile(ur"<h1>(.*?)</h1>")result_productname = re.findall(pattern_title, unicode(r.content))return result_productname
# 获取商品详细信息
def getproductdetails(productid):url = 'http://pe.3.cn/prices/pcpmgets?skuids=' + productid + '&origin=5&area=15_1213_3409's = requests.session()r = s.get(url, headers=head).json()return r# p手机端实际价格 pcp电脑端实际价格# [{u'p': u'168.00', u'pcp': u'188.00', u'm': u'398.00', u'id': u'1456371991'}]
# 发布推文
def posttwitter(content):consumer_key = 'f...j'consumer_secret = 'W...8'access_token = '4...j'access_token_secret = 'Q...M'auth = tweepy.OAuthHandler(consumer_key, consumer_secret)auth.set_access_token(access_token, access_token_secret)api = tweepy.API(auth)if content:api.update_status(status=content)
# 判断价格涨跌
def detectprice(productid):productdetails = getproductdetails(productid)[0]# {u'p': u'168.00', u'pcp': u'188.00', u'm': u'398.00', u'id': u'1456371991'}result_twitter = '<<' + getproductname(productid)[0] + '>>' + u'降价了!当前手机端价格为:' + productdetails['p']log = {'date': today, 'id': productid, 'name': getproductname(productid)[0].encode('utf-8'), 'price': float(productdetails['p'])}result_log = json.dumps(log)if float(productdetails['p']) < myfavourite[productid]:    # 如果今天的价格 低于 期望价with open('log_' + productid + '.txt', "r") as logfile:logfile_content = logfile.readlines()[-1:]    # 取最后一行数据,即昨天得价格if float(productdetails['p']) < json.loads(logfile_content[0])['price']:    # 如果今天的价格 低于 昨天的with open('log_' + productid + '.txt', "a") as logfile:logfile.write(result_log + "\n")posttwitter(result_twitter)return u'推文已发布!'else:    # 如果今天的价格 高于或等于 昨天的with open('log_' + productid + '.txt', "a") as logfile:logfile.write(result_log + "\n")return u"由于今天的价格等于或高于昨天,故不再发布推文通知!"else:    # 如果今天的价格 等于或高于 期望价with open('log_' + productid + '.txt', "a") as logfile:logfile.write(result_log + "\n")return u"实际价格高于或等于您的预期!"
# 调用函数
print detectprice('789778')

附上京东的几个查询接口:

1. http://p.3.cn/prices/mgets?skuIds=J_1456371991
[{"id":"J_1456371991","p":"188.00","m":"398.00"}]

2. http://c0.3.cn/stock?skuId=1456371991&cat=652,829,854&area=15_1213_3409_0&extraParam={"originid":"1"}
{"stock":{"rn":-1,"IsPurchase":false,"ArrivalDate":"","channel":1,"StockState":33,"PopType":0,"vd":null,"isJDexpress":"0","StockStateName":"现货","Dti":null,"afsCode":1,"area":{"countyName":"江干区","success":true,"townName":"","cityName":"杭州市","provinceName":"浙江"},"support":[],"Dc":[{"ordermin":0,"dcash":0,"dtype":1,"freihtType":1}],"dcashDesc":"","sidDely":"-1","rfg":0,"stockDesc":"<strong>有货</strong>","pr":{"promiseResult":null,"resultCode":-55},"code":1,"skuState":1,"Ext":"fare:0,is7ToReturn:1","realSkuId":1456371991,"promiseResult":"","eir":[{"helpLink":"//help.jd.com/user/issue/103-983.html","showName":"货到付款","iconType":0,"resultCode":1,"iconTip":"支持送货上门后再收款,支持现金、POS机刷卡等方式","iconSrc":"货到付款","picUrl":"http://static.360buyimg.com/item/assets/picon/fangzi.png","iconCode":"pop_PaymentCod"}],"ir":[]},"choseSuit":[]}

3. http://pe.3.cn/prices/pcpmgets?skuids=1456371991&origin=5&area=15_1213_3409
[{"id":"1456371991","pcp":"188.00","p":"168.00","m":"398.00"}]

转载于:https://www.cnblogs.com/IvanChen/p/5512400.html

监测京东商品价格波动相关推荐

  1. 基于Python的京东商品信息分析与实现

    随着信息技术和互联网技术的快速发展,利用数据采集技术实现用户感兴趣的数据收集分析成为很多互联网公司研究讨论的热门话题.通过对基于京东商品的数据采集进行商品价格动态变化的需求进行调查分析,发现作为研究商 ...

  2. python爬虫电商京东_python爬虫-京东商品爬取

    京东商品爬取 仅供学习 一.使用selenium from selenium import webdriver from selenium.webdriver.common.keys import K ...

  3. python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例

    本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...

  4. python老王卖西瓜_使用Python爬取京东商品晒单图

    本文我们将尝试下载如下所示的京东商品晒单图. 来到京东首页,在搜索框中输入关键字,比如:手机.打开浏览器的开发者工具(Ctrl+Shift+I),切换到Network选项. 点击按钮搜索之前输入的关键 ...

  5. 京东商品详情页碎碎念

    在之前的两篇文章<构建需求响应式亿级商品详情页>和<京东商品详情页服务闭环实践>已经详细介绍了整个系统的架构设计和实现思路.本篇将介绍下杂七杂八的一些实践: 静态化 突发流量 ...

  6. python treeview底部加个按钮_Python爬取京东商品信息(GUI版本)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:DYblog 转载:https://www.cnblogs.com/ ...

  7. go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

    利用splash爬取京东商品信息 一.环境 window7 python3.5 pycharm scrapy scrapy-splash MySQL 二.简介 为了体验scrapy-splash 的动 ...

  8. 图谱实战 | 京东商品图谱构建与实体对齐

    转载公众号 |  DataFunTalk 分享嘉宾:赵学敏博士 京东科技 编辑整理:蔡丽萍 TRS 出品平台:DataFunTalk 导读:在电商企业采购和运营过程中,如果要想掌握商品的实时价格等行情 ...

  9. Python3网络爬虫开发实战,Appium+mitmdump 爬取京东商品

    11.6 Appium+mitmdump 爬取京东商品 在前文中,我们曾经用 Charles 分析过京东商品的评论数据,但是可以发现其参数相当复杂,Form 表单有很多加密参数.如果我们只用 Char ...

最新文章

  1. 面试必备:6个你必须熟练掌握的机器学习算法
  2. 最大流 ---- 最小路径覆盖 ---- P2765魔术球问题(网络流24题)
  3. Java Review - PriorityQueue源码解读
  4. CV之API:利用Face++的人体识别接口,实现摄像头实时手势识别
  5. 常见Java面试题之静态变量和实例变量的区别
  6. 数据结构期末复习之归并排序和基数排序
  7. 链接mysql_JavaScript学习笔记(二十四)-- MYSQL基础操作
  8. Qt之QSS使用与基本语法
  9. julia linux下载位置,在 Ubuntu 上安装 Julia
  10. gprs数据传输流程
  11. 【信息检索导论】第一章 布尔检索
  12. 【附源码】计算机毕业设计java中小学在线考试系统设计与实现
  13. 【机器学习 - 8】:随机梯度下降法
  14. 《流浪星球》作者:区块链让虚拟世界代替现实世界
  15. 成都普赛睿生物医药科技有限公司-IT岗位招聘
  16. checkm基因组_checkm8漏洞利用的技术分析
  17. 三次B样条插值和误差分析
  18. 微信小程序---wxss常用属性
  19. python检测网页能否访问
  20. 轻松解读仿生学最优化算法(一)——遗传算法

热门文章

  1. Dice loss是什么
  2. python语言中包含的标准数据类型_python 六大标准数据类型
  3. 文本编码格式转换及文本内容类型的介绍
  4. Auto.js 一个同一张图片多次多点找色的例子ColorMapping.findMultiColors
  5. luogu P4117 [Ynoi2018] 五彩斑斓的世界
  6. MobTech受邀参与华为开发者联盟沙龙,谈数据智能撬动增长
  7. 华为开发者联盟申请鸿蒙开发者Beta版,华为面向开发者发布鸿蒙技术测试版
  8. 孢子java_孢子框架-接口访问层、ESB、微服务API GateWay对比
  9. 运动耳机选择哪种好、什么款式的耳机戴着舒服
  10. 机器学习: 离散变量的概率分布