“杀京东”京东价格监控软件,做最走心的京东价格监控软件!

c#程序如何获取到京东商品信息?

这是“杀京东”项目组遇到的第一个技术问题,下面将解决方案详细描述。

项目组首先使用网页监控工具(如Fiddler)获取所有网页数据,找到商品价格返回的Json文件。

如上图所示,商品价格的请求为:

“http://p.3.cn/prices/get?callback=cnp&type=1&area=22_1930_50947&pdtk=&pduid=759492263&pdpin=&pdbp=0&skuid=J_10048659787”

商品库存情况请求为:

http://c0.3.cn/stock?skuId=1700908129&venderId=32533&cat=6144,12041,12047&area=1_72_2799_0&buyNum=1&extraParam={%22originid%22:%221%22}&ch=1&callback=getStockCallback

那么现在就简单了,通过HttpWebRequest控件去请求对应页面,对返回值进行正则表达式的判断,取得需要的值。

获取价格代码:

            try{if (_myProduct == null){_myProduct = new ProductInfo();}double myPrice = 0;//商品价格 http://pm.3.cn/prices/pcpmgets?callback=jQuery3820568&skuids=202459&origin=2&source=1&area=1_2800_4134_0&_=1451370905656//jQuery5068505([{"id":"202459","pcp":"69.00","p":"59.00","m":"121.00"}]);string url_price = string.Format("http://pm.3.cn/prices/pcpmgets?callback=jQuery3820568&skuids={0}&origin=2&source=1&area=1_2800_4134_0&_=1451370905656", pid);string html_price = HttpHelper.GetResponse(url_price, "get", string.Empty);string str_price = html_price.Replace("jQuery3820568([", "").Replace("]);", "");JdWareMobilePrice price = JsonConvert.DeserializeObject<JdWareMobilePrice>(str_price);myPrice = double.Parse(price.p);//规则:如果价格小于0,该商品下柜if (myPrice < 0){myPrice = 0;_myProduct.ProductIsSaled = -1;_myProduct.ProductStock = "下柜";}if (!string.IsNullOrEmpty(price.pcp)){_myProduct.ProductPriceType = "手机";}_myProduct.ProductPrice = myPrice;return myPrice;}catch (Exception ex){Debug.WriteLine(ex.Message);return 0;}

获取商品的价格很简单,传入商品编号(skuid)即可,其它Key值都可以不用管,毕竟商品价格基本是整个京东统一的。

获取库存代码:

                string url_service = "http://c0.3.cn/stock?skuId=" + tID + "&venderId=" + venderId.Trim() + "&cat=" + cat + "&area=22_1930_49322_0&buyNum=1&extraParam={%22originid%22:%221%22}&ch=1&callback=getStockCallback";string html_service = HttpHelper.GetResponse(url_service, "get", string.Empty);string str_stock = html_service.Replace("getStockCallback(", "").TrimEnd(')');StockInfo jdStock = JsonConvert.DeserializeObject<StockInfo>(str_stock);if (_myProduct == null){_myProduct = new ProductInfo();}_myProduct.ProductBrand = string.IsNullOrEmpty(jdStock.Stock.self_D.deliver) ? jdStock.Stock.D.deliver : jdStock.Stock.self_D.deliver;//-1 下柜 0 无货 1 有货 2 配货 3 预订_myProduct.ProductIsSaled = jdStock.Stock.StockState == 33 ? 1 : (jdStock.Stock.StockState == 40 ? 2 : (jdStock.Stock.StockState == 36 ? 3 : 0)); //33 有货(1), 40 可配货(2), 36 预订(3), 无货(0)_myProduct.ProductStock = jdStock.Stock.StockStateName;

获取商品库存信息除了商品编号外,还需要注意的是店铺编号和配送区域。配送区域的获取比较麻烦,这个另表。

获取店铺编号可以在Html主页面中找到,如下:

<script>var pageConfig = {compatible: true,product: {skuid: 10048659787,name: '\u0076\u0069\u0076\u006f\u0020\u0058\u0036\u0050\u006c\u0075\u0073\u0020\u79fb\u52a8\u8054\u901a\u53cc\u0034\u0047\u624b\u673a\u0020\u0034\u0047\u0042\u002b\u0036\u0034\u0047\u0042\u0020\u53cc\u5361\u53cc\u5f85\u0020\u73ab\u7470\u91d1',skuidkey:'D0A2AE7B60F61C9B9800A37D32991911',href: '//item.jd.com/10048659787.html',src: 'jfs/t2554/135/876494637/261512/831a1630/5671204dNf8ba2372.jpg',cat: [9987,653,655],brand: 25591,pType: 1,isClosePCShow: false,venderId:86412,shopId:'85034',shopCserviceJson:[{"serviceIds":"","groupId":"204584"}],                commentVersion:'3440',                 specialAttrs:["packType","is7ToReturn-1","IsNewGoods"],recommend : [0,1,2,3,4,5,6,7,8,9],easyBuyUrl:"http://easybuy.jd.com/skuDetail/newSubmitEasybuyOrder.action",phoneNetwork:['移动4G','联通4G','移动3G','联通3G','移动2G/联通2G'],                colorSize: [{"SkuId":10048659786,"Color":"金色"},{"SkuId":10048659787,"Color":"玫瑰金"}],                warestatus: 1,                                 tips: [{"order":3,"tip":"支持7天无理由退货"}],                isOtc: false,                                desc: '//d.3.cn/desc/10008889324',                foot: '//d.3.cn/footer?type=common_config2'}};

杀京东 做最走心的京东价格监控软件 免费开源的价格监控软件 欢迎加入QQ群415014949一起讨论

京东价格监控软件开发技术探讨一:C#实现获取京东商品信息(价格、库存)相关推荐

  1. 京东价格监控软件开发技术探讨十:如何获取浏览器指纹

    什么是指纹识别? FingerPrint 即我们常说的指纹识别,使用手指和拇指前端的纹理按下的纹印来鉴定身份.指纹是鉴别身份的一种可靠的方法,因为每个人的每个指头上的纹理排列各不相同而且不因发育或年龄 ...

  2. 京东价格监控软件开发技术探讨十四:电商领域区块链融合模式采集的探讨

    区块链及人工智能是这两年比较火的概念,在和圈内的朋友讨论时,就有如何将区块链融入电商项目中的探讨. 在开始之前,我们需要先明白区块链是什么? 说起区块链,我们首先想起的肯定是比特币.以太币这些炒的火热 ...

  3. 京东价格监控软件开发技术探讨十五:C#下如何实现推送消息到微信群

    目前推送消息到QQ群,已经被大部分业内人士掌握并熟练运用.近期专家群里面比较关注的是如何通过技术方式,实现模拟微信登录及推送微信消息. 占位符.

  4. 2021年度总结 | 葡萄城软件开发技术回顾(下)

    2021年度总结 | 葡萄城软件开发技术回顾(下) 在上节中,我们介绍了在过去一年中葡萄城在控件领域中的一些新探索,新尝试. (详细内容:https://www.cnblogs.com/powerto ...

  5. Gps车辆监控软件平台开发技术精华

    车载gps监控技术目前虽然非常成熟,但是软件开发技术革新不足,很少有关于技术开发的文章,很多人还不知道交通运输车辆监控软件的开发竟然还有个交通部部标标准,软件开发人员素来以天马行空我行我素,看不得也不 ...

  6. 视频监控软件开发的需求管理

    视频监控软件开发的需求管理 摘要:项目需求管理的目的是确保各方对需求的一致理解,管理和控制需求的变更,从需求到最终产品的双向追踪.项目的需求管理可以在很大程度上影响项目的成败.本文以"××职 ...

  7. 传道解惑 软件开发技术名词解密

    传道解惑 软件开发技术名词解密 序:去年为了总结自己所学习/接触过的技术,也顺便为初学者少走弯路指明一些方向,可惜后来诸事缠身未能继续,十分遗憾,现放到自己的BLOG上来鼓励自己将此继续下去. &qu ...

  8. 从今天开始,我就要潜心研究软件开发技术了,不在被名利所困

    参加工作六年来,我一直被虚名所困,想要通过努力得到单位的认可,但是由于我是小副科,学校领导根本不放在心上,我反而为此浪费了很多宝贵的时间. 从今天开始,我就要潜心研究软件开发技术,不再在单位争名夺利了 ...

  9. 点评主流软件开发技术

    为什么80%的码农都做不了架构师?>>>    点评主流软件开发技术 http://soft.chinabyte.com/297/8698297.shtml ■ 河北秦皇岛 谷俭政 ...

  10. 2020年度总结 | 葡萄城软件开发技术回顾

    本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 2020年是不平凡的一年,虽然疫情为整个社会都带来了巨大的冲击,但IT技术人 ...

最新文章

  1. python面试题库——3数据库和缓存
  2. C++四种cast操作符
  3. 【转】 差分约束系统详解(转化为最短路) (概念)
  4. 办公室中有一台计算机连接打印机,办公室就一个打印机,怎么让多个电脑一起用...
  5. UE4的编译配置详解
  6. 软件工程--瀑布模型
  7. JavaScript浮点运算的问题
  8. 自学移动端(APP)自动化测试
  9. 通用有限元软件简介及比较
  10. mysql新闻管理系统表_《新闻管理系统》数据库设计_参考答案.doc
  11. win7系统域服务器,win7安装域服务器
  12. 如何使用JMX_Expoter+Prometheus+Grafana监控Hadoop集群
  13. torch中乘法整理,*torch.mul()torch.mv()torch.mm()torch.dot()@torch.mutmal()
  14. 利用PE安装ISO镜像(以及精简版镜像)/安装忍术渗透系统
  15. 利用ArcSoftFace做人脸识别-屏幕卫士 保护你的屏幕不被别人偷窥
  16. Mybatis联表查询:多对多(注解实现)
  17. 玩转B2B平台的商业模式你选对了吗?
  18. android 反向进度条,Android progressBar 正向绘制与反向绘制
  19. linux-I2C驱动(4)--编写驱动代码
  20. 【水声通信】使用Bellohop模型产生水声信道,采用相干检测的方法进行PSK、QAM调制解调【matlab源码】

热门文章

  1. 计算机视觉教程2-5:图像金字塔送她一朵玫瑰(附代码)
  2. Kubelet cAdvisor 资源监控
  3. HTML5-单、多选框,按钮
  4. 小程序注册开发全流程
  5. C语言全局变量和局部变量的区别详解
  6. vue后台管理框架(iview + vue)
  7. 量子力学 一 基础5 厄尔米特算符与酉算符 算符的谱分解
  8. u盘运行linux系统卡住了,从U盘运行Linux操作系统的三种方法
  9. 阿里异构离线数据同步工具/平台DataX
  10. java 圣思园_圣思园Java8新特性及实战视频教程完整版1