做微信公众号查券首先需要一个1个产品库,我们可以使用淘宝的开放平台提供的产品库通用物料搜索API。

通过用户手淘分享的商品信息,信息中包含商品标题和链接还有淘口令,我们可以用正则表达式提取出商品标题

或者通过分享信息中的淘宝链接http抓包方式获取淘宝商品id; 然后通过id在查询的一批商品中找到指定的商品优惠券、佣金等信息。

关键代码如下

public static string GetTaobaoCoupon(RequestMessageText responseMessageText){string itemInfo = responseMessageText.Content.Trim();string responeMessage = "";try{Match m_title = Regex.Match(itemInfo, @"【.*】");string temp = m_title.Value;if (!string.IsNullOrEmpty(temp)){temp = temp.Substring(1, temp.Length - 2);}else{return "";}if (temp.Contains("#手聚App")){int IndexofA = temp.IndexOf("宝贝不错:");int IndexofB = temp.IndexOf("(分享自");temp = temp.Substring(IndexofA + 5, IndexofB - IndexofA - 5);}string title = temp;//通过商品关键字查询商品ITopClient client = new DefaultTopClient(taobaoApiUrl,taobaoAppkey, taobaoSecret);TbkDgMaterialOptionalRequest req = new TbkDgMaterialOptionalRequest();req.AdzoneId = addzoneId;req.Platform = 2L;req.PageSize = 100L;req.Q = title;req.PageNo = 1L;TbkDgMaterialOptionalResponse rsp = client.Execute(req);if (rsp.ResultList.Count > 0){//获取淘宝短链接Match m_url = Regex.Match(itemInfo, @"htt(p|ps):\/\/([\w\-]+(\.[\w\-]+)*\/)*[\w\-]+(\.[\w\-]+)*\/?(\?([\w\-\.,@?^=%&:\/~\+#]*)+)?");if (m_url.Value == ""){return responeMessage;}var s = HttpUtility.HttpGet(m_url.Value, "", "utf-8");//Match am_url = Regex.Match(s, @"(?<=var url = ')(.*)(?=')");//获取宝贝item idMatch m_item = Regex.Match(s, @"(?<=m.taobao.com\/i)([0-9]*)");string item_id = m_item.Value;if (string.IsNullOrEmpty(item_id)){Match am_url = Regex.Match(s, @"(?<=var url = ')(.*)(?=')");var htmlContent = HttpUtility.HttpGet(am_url.Value, "", "gbk");Match re_m_item = Regex.Match(htmlContent, @"(?<=taobao.com/item.htm\?id=)([0-9]*)");item_id = re_m_item.Value;}if (string.IsNullOrEmpty(item_id)){//LogHelper.WriteLog(typeof(WechatController), "通过抓包方式未获取到宝贝item id");var g = rsp.ResultList.Where(y => !string.IsNullOrEmpty(y.CouponId)).OrderByDescending(w => w.Volume).FirstOrDefault();if (g == null){responeMessage = ConfigurationManager.AppSettings["tbk_nocoupon_msg"].Replace("\\n", "\n").Replace("\\ue231", "\ue231");}else{var hongbao = (decimal.Parse(g.ZkFinalPrice) - decimal.Parse(Regex.Match(g.CouponInfo, "减" + @"(\d+)").Groups[1].Value)) * decimal.Parse(g.CommissionRate) / 10000 * commission_rate;responeMessage = $"{g.Title}\n【在售价】{g.ZkFinalPrice}元\n【巻后价】{Math.Round(double.Parse(g.ZkFinalPrice) - double.Parse(Regex.Match(g.CouponInfo, "减" + @"(\d+)").Groups[1].Value), 2)} 元\n复制这条信息,打开「手机绹宝」领巻下单{GetTaobaoKePassword(g.CouponShareUrl, g.PictUrl + "_400x400.jpg")}\n";}return responeMessage;}else{float numid = 0;try{numid = float.Parse(item_id);}catch (Exception ex){//通过淘宝链接没有获取到item id,显示销量最高商品var g = rsp.ResultList.Where(y => !string.IsNullOrEmpty(y.CouponId)).OrderByDescending(y => y.Volume).FirstOrDefault();var hongbao = (decimal.Parse(g.ZkFinalPrice) - decimal.Parse(Regex.Match(g.CouponInfo, "减" + @"(\d+)").Groups[1].Value)) * decimal.Parse(g.CommissionRate) / 10000 * commission_rate;responeMessage = $"{g.Title}\n【在售价】{g.ZkFinalPrice}元\n【巻后价】{Math.Round(double.Parse(g.ZkFinalPrice) - double.Parse(Regex.Match(g.CouponInfo, "减" + @"(\d+)").Groups[1].Value), 2)} 元\n复制这条信息,打开「手机绹宝」领巻下单{GetTaobaoKePassword(g.CouponShareUrl, g.PictUrl + "_400x400.jpg")}\n";return responeMessage;}//在接口返回的商品中找查询的商品foreach (var g in rsp.ResultList){if (g.NumIid == numid){if (string.IsNullOrEmpty(g.CouponInfo)){var hongbao = decimal.Parse(g.ZkFinalPrice) * decimal.Parse(g.CommissionRate) / 10000 * commission_rate;responeMessage = $"{g.Title}\n【在售价】{g.ZkFinalPrice}元\n【约返利】{Math.Round(hongbao, 2)}元\n复制这条信息,打开「手机绹宝」领巻下单{GetTaobaoKePassword(g.Url, g.PictUrl + "_400x400.jpg")}\n==========================\n下单确认收货后就能收到返利佣金啦~\n 点击查看  <a href='http://mp.weixin.qq.com/s?__biz=Mzg2NTAxOTEyMA==&mid=100000146&idx=1&sn=62405c8df3db46e74940aefb9ac3737b&chksm=4e61340d7916bd1bf645afbc6d10c1f19561d7fa59847516c01e64c0791e6d544f4f56c4f498#rd'>如何领取返利</a>";return responeMessage;}else{var hongbao = (decimal.Parse(g.ZkFinalPrice) - decimal.Parse(Regex.Match(g.CouponInfo, "减" + @"(\d+)").Groups[1].Value)) * decimal.Parse(g.CommissionRate) / 10000 * commission_rate;responeMessage = $"{g.Title}\n【在售价】{g.ZkFinalPrice}元\n【巻后价】{Math.Round(double.Parse(g.ZkFinalPrice) - double.Parse(Regex.Match(g.CouponInfo, "减" + @"(\d+)").Groups[1].Value), 2)} 元\n复制这条信息,打开「手机绹宝」领巻下单{GetTaobaoKePassword(g.CouponShareUrl, g.PictUrl + "_400x400.jpg")}\n";return responeMessage;}}}//没有找到,有相似宝贝推荐var w = rsp.ResultList.Where(y => !string.IsNullOrEmpty(y.CouponId)).OrderByDescending(y => y.Volume).FirstOrDefault();if (w == null){responeMessage = ConfigurationManager.AppSettings["tbk_nocoupon_msg"].Replace("\\n", "\n").Replace("\\ue231", "\ue231");}else{var hongbao = (decimal.Parse(w.ZkFinalPrice) - decimal.Parse(Regex.Match(w.CouponInfo, "减" + @"(\d+)").Groups[1].Value)) * decimal.Parse(w.CommissionRate) / 10000 * commission_rate;responeMessage = $"/:rose 亲,这款商品的优惠返利活动结束了~\n已为你推荐以下宝贝。\n==========================\n{w.Title}\n【在售价】{w.ZkFinalPrice}元\n【巻后价】{Math.Round(double.Parse(w.ZkFinalPrice) - double.Parse(Regex.Match(w.CouponInfo, "减" + @"(\d+)").Groups[1].Value), 2)} 元\n复制这条信息,打开「手机绹宝」领巻下单{GetTaobaoKePassword(w.CouponShareUrl, w.PictUrl + "_400x400.jpg")}\n";}return responeMessage;}}else{responeMessage = ConfigurationManager.AppSettings["tbk_nocoupon_msg"].Replace("\\n", "\n").Replace("\\ue231", "\ue231");}}catch (Exception ex){//LogHelper.WriteLog(typeof(WechatController), "返回消息异常" + ex.Message);}return responeMessage;}

微信公众号开发淘宝优惠券查询的思路和原理相关推荐

  1. 用微信公众号做淘宝优惠券查券和返利机器人的详细配置教程

    用微信公众号做淘宝优惠券查券和返利机器人的详细配置教程:微信公众号淘宝客机器人,微信公众号淘客系统自助搭建教程 一.淘宝联盟官方淘宝客私域渠道ID申请 1.登陆淘宝联盟 用需要开通淘宝联盟的手机淘宝扫 ...

  2. 怎么用微信公众号领取淘宝诶不优惠券购物教程

    当你在淘 宝上买买买的时候,是否想过已是至优惠? 当你百般对比同类商品价格的时候,是否觉得已是至便 宜的呢? 其实不然,天猫淘宝上80%的产品有内部优惠券,而你直接在淘宝购买是发现不了的!!因为这种券 ...

  3. 微信公众号实现淘宝查券机器人

    一.前言 前几年是微信公众号的急速发展时期,那个时期有不少的淘宝客利用微信公众号,将推广转移到微信公众号上面,利用所谓的"信息差",将淘宝联盟平台的优惠券,以公众号查券的方式进行赚 ...

  4. php实现微信公众号生成淘宝客推广海报(正则匹配淘宝联盟)

    现在很多人做淘宝客,包括我.做淘宝客一个月也可以赚个一两千零用钱,但是"淘宝联盟"APP生成的带二维码宣传图在微信是被屏蔽的,无法打开的! 例如: 所以很多做淘客的,开始开发自己的 ...

  5. php实现微信公众号生成淘宝客推广海报(正则匹配淘宝联盟) 1

    现在很多人做淘宝客,包括我.做淘宝客一个月也可以赚个一两千零用钱,但是"淘宝联盟"APP生成的带二维码宣传图在微信是被屏蔽的,无法打开的! 例如: 所以很多做淘客的,开始开发自己的 ...

  6. 微信公众号对接淘宝客系统,淘口令解析

    现在大家做淘宝客公众号的比较多,最近也是开发了淘宝客系统,解析淘口令也算是比较烦心的一件事了.直接上思路+代码,不啰嗦. 首先我们判断,用户发送的消息中是否含有https://m.tb.cn,一般淘口 ...

  7. 微信公众号开发(公交线路查询-JAVA

    一.Dom4j的使用    在介绍公交线路开发之前,先简单介绍下Dom4j的使用,因为公交线路查询引用的是爱帮公交api,调用结果为xml格式文件,故用到了Dom4j这个包,当然还有其他的包来读取xm ...

  8. 微信公众号开发--双色球开奖查询

    访问我的个人博客 秋码个人博客 扫描下方二维码 可关注 你我杂志刊 公众号 或者微信搜索公众号 你我杂志刊 在 你我杂志刊 公众号 输入 彩票双色球 扫描下方二维码 可关注 你我杂志刊 公众号 或者微 ...

  9. php微信公众号开发之快递查询

    [文章来源:脚本之家   文章地址:https://www.jb51.net/article/149205.htm] 本文实例为大家分享了php微信公众号开发之快递查询的具体代码,供大家参考,具体内容 ...

最新文章

  1. Vim 快捷键整理【转】
  2. jvmti_从javaagent迁移到JVMTI:我们的经验
  3. 搭建Nginx正向代理
  4. c语言 倒计时不清屏_打字游戏超细讲解(C语言基础小游戏)
  5. IEMLRN:基于图像增强的句子语义表示
  6. OpenCV主成分分析(PCA)简介
  7. 橘子游戏平台_apex英雄_游戏快速下载_雷神加速器全网最快
  8. python连接wifi_Python3控制win10连接wifi热点
  9. 上海抽查35批次手机 3批次比吸收率标识要求不合格
  10. C 语言漏洞最严重,PHP 最易受攻击,程序员该怎么写代码?
  11. 金三银四旗开得胜!javagui界面
  12. 纵深防御及MS纵深防御模型
  13. 禁忌搜索算法(Tabu Search)的基本原理与算法流程总结
  14. JAVA远程读取服务器文件
  15. idea自定义banner
  16. thinkadmin上传与保存资源文件
  17. js 实现在线考试切屏代码
  18. Typora使用总结
  19. 为人“着想”和站在别人的角度--7-11创始人的经营理念引发的管理思考
  20. iPhone中取得LAC和cellid等信息

热门文章

  1. 开环控制系统与闭环控制系统
  2. Maya2022安装教程
  3. 计算机图表制作教程,PPT怎么制作动态图表 PPT动态图表制作教程-电脑教程
  4. 主流深度学习CTR模型
  5. 【CSS】1088- CSS 快速实现烟花绽放
  6. 我的2016---悲喜交加的一年
  7. iOS和Android和H5交互WebViewJavascriptBridge
  8. 求一个网页设计作业——个人博客(HTML+CSS)
  9. 华为2288服务器不显示BIOS,设置BIOS - RH2288H V3 服务器 V100R003 用户指南 41 - 华为
  10. diy一个android手机版下载,居然设计家DIY手机版下载-居然设计家DIY 安卓版v1.3.0.5-PC6安卓网...