使用 Python 全栈打造淘宝客微信机器人(上)

本篇  将会涉及:

  • Python 环境下淘宝客 API 的使用;
  • 使用 Python 第三方模块 itchat 实现微信的登录的自动回复操作;
  • PyQt5 的布局管理与多线程应用

1 、前言

1.1、什么是淘宝客

相信很多人都听过或者接触过各类导购 APP、QQ 群、微信群分享一些淘宝商品的优惠券或是其他的优惠信息。

用户可以在这些渠道上获取到相较于从淘宝平台搜索出来的商品更加优惠的价格或者是领取到面额较大的优惠券。

这些渠道,都是属于淘宝客的渠道。淘宝客是淘宝平台推出的一种按成交计费的推广模式,通常也指通过这种模式赚钱的人。

前几年淘宝客红火的时候,各类导购网站、导购 APP 以及优惠券 QQ 群、微信群层出不穷,如今倒是稍显平淡了。虽说淘宝客在蜂拥的互联网上平淡了起来,但是丝毫影响不了新加入的人群的心态,在淘宝网在搜索 “微信人导购机器”,还可以看到很多商家在售卖淘宝客的微信机器人:

这些微信机器人的功能其实主要也是自动回复群内的人的消息,以及定时推送一些优惠商品信息等。

今天,我们就使用哪哪都会出现,哪哪都行的大蟒蛇——Python,来打造一个淘宝客微信机器人,实现在群聊中自动回复搜索并返回商品这一淘宝客导购微信机器人最基本的功能。

1.2、 注册成为淘宝客

要写一个淘宝客的微信机器人,我们首先需要成为一个淘宝客,才能获取到淘宝客相关的优惠资源。方法很简单,在淘宝客的推广平台——阿里妈妈淘宝联盟(http://pub.alimama.com/)上注册一个一个帐号即可,我们可以使用淘宝的账号进行登录。

在登录之后,我们可以在 “我的联盟” 中的 “推广管理” 中进行推广媒体的设置:

在其中,我们可以添加网站、APP、导购、软件的推广等。在此,我已经添加了一个网站的媒体,并且已经提交验证成功了。推广媒体是淘宝客中一个基本的推广商品渠道,用于归属不同的推广位,如果没有推广媒体,就没有办法创建推广位,进而无法进行淘宝客的推广。大家可以按照自己的情况创建推广媒体,推荐使用网站推广媒体。

在创建好推广媒体之后,我们还需要创建一个推广位,推广位用于归属具体的淘宝客推广商品,在此我已经创建了网站的推广位,其中的 PID 在我们后面调用 API 接口的时候会使用到,大家注意一下:

如果没有推广位,那么我们可以在 “联盟产品” 中点击 “精选清单” 的立即下载按钮:

其会让我们选择推广位,这时候可以新建一个推广位:

这样我们就获得了一个推广网站的推广位。

再回到推广媒体管理上,在我们添加的网站媒体通过了阿里妈妈的验证成功后,我们会得到一个联盟合作网站的 API:

点击 “查看” 链接,会跳转到阿里开放平台上我们创建的网站推广位(推广位为在阿里开放平台上显示为一个应用)的概览中,其中显示了我们的应用接口信息,接口数据和我们获得的权限 API 等:

APP 证书中的 App Key 和 App Secret 会在调用 api 接口时作为凭证来认证,下方的功能场景中显示我们获取的 API 接口:在这里我的应用有:

  • 淘宝客基础 API
  • 淘宝客 - 媒体 - 内容消息
  • 淘口令基础包
  • 淘宝客 - 工具 - 超级搜索

其中淘宝客基础 API 中包含了其他的一些接口的,我们主要使用这个 API 包。

这样,我们就可以开始通过 API 接口获取到淘宝客的推广信息。

2、Python 环境下使用淘宝客 API

在注册成为淘宝客,添加推广位获取到淘宝客的基础 API 之后,我们就可以通过调用淘宝客的 API 来获取淘宝客推广信息了。

2.1 、了解淘宝客接口

在调用淘宝客的 API 之前,我们先来看一下,在提交网站推广位之后获得的淘宝客基础 API 中都有些什么接口:

其中一共有 23 个接口,虽然是一个基础 API 包,但还是包含了淘宝客推广商品中的大多数信息的获取。在本篇 Chat 介绍创建的淘宝客微信机器人中,我们主要使用以下两个接口:

  • 好券清单 API【导购】taobao.tbk.dg.item.coupon.get
  • 淘宝客淘口令 taobao.tbk.tpwd.create

其他的 api 接口大家可以根据自己的需要添加在程序中。

好券清单 API 用于返回淘宝客商品的优惠券信息,我们可以通过其来搜索特定关键词下的商品的优惠券,以作为结果返回给用户。其接受的参数如下:

淘宝客淘口令 API,用于将淘宝客推广链接转换为淘口令,以实现复制优惠券信息后,打开淘宝就能跳转到推广链接的效果。其接受的参数如下:

可以发现,我们主要使用 adzoneid、淘口令弹框内容和淘口令跳转的目标链接三个参数,其中 adzoneid 可以从推广位的 PID 中获取,淘口令弹框内容可以设置为商品的标题,淘口令跳转的目标链接则是优惠券的链接地址,这两个参数都可以从好券清单 API 中获取到。下面我们来看看如何调用这两个接口。

2.2、调用淘宝客 API 接口

在 API 接口的介绍中,我们可以看到其中有多种语言的请求实例,如下所示:

最幸运的是,其提供了 Python 的请求示例,这样我们可以稍微修改一下示例代码(示例中为 Python2 版本的代码)就能对淘宝客的 API 进行调用了,是不是很美好?

虽然看起来很美好,但是我们还是需要额外做一些工作。

下载阿里提供的 SDK

看到示例代码中的第 2 行引入了一个 top.api 的模块,这个模块属于阿里开放平台提供的 SDK,使用 pip 等 Python 包管理工具并不能下载安装。在阿里开发平台的每个应用中,都提供了相应的 SDK 的下载链接,我们选择 “Python 版本”,在点击下载即可。

下载完成的 SDK 是一个名为 “sdk-python-*” 的压缩包,其中还有一个压缩包和一个空的文件夹:

我们需要的 top 模块就在 taobao-sdk-PYTHON-auto 那个压缩包中,继续解压,得到以下文件:

面对一个陌生的包,好的习惯当然是查看 readme 之类的文件来知晓使用方法,我们打开 READ_ME.TXT 文件,里面的内容不多,但说明了 top 模块如何使用:复制 top 文件夹到自己的 Python 项目路径下,让 Python 执行器能够引入这个 top 包即可。

得到了淘宝客的 SDK 模块以及模块的使用方法后,我们似乎可以开干了。如果你和我一样,使用的是 Python 3 的话,那么可以还需要再等等。

因为阿里开放平台提供的这个 SDK 是 Python 2 版本的,直接在 Python 3 环境下调用会报错,而报错的主要位置都位于 top 文件夹的 api 文件夹下的 base.py 这个文件:

我们需要对其进行代码风格和规范的转换,可以使用 Python 官方提供的 2to3.py 这个工具。

这一步完成之后,我们的准备工作就已经结束了。下面使用 Python 来调用一下淘宝客的接口。

调用淘宝客 API

当前,我们的项目目录如下所示:

在项目主文件夹下,只有一个淘宝客的 top 包,我们新建一个 Python 文件,用于调试调用淘宝客的 API:

首先在 usetbkapi.py 文件中引入淘宝客的包——top,并且定义好公共参数(App Key 和 App Secret,两者从阿里开放平台 - 应用的概览中获取)和好券清单需要的 adzoneid(淘宝联盟 - 推广位管理 - 推广位的 PID 中 mmxxxxxxxxx 的第三位):

首先是好券清单的 API,在阿里开放平台的 API 文档中,其请求示例如下所示:

我们将其修改一下,变成了如下形式:

函数 gettbkcoupon() 接受一个参数作为淘宝客商品优惠券的搜索词,我们运行一下这个函数,以 “Python” 作为搜索词看看返回的结果:

请求成功,最后得到一个包含 5 个商品信息的 json:

因为我们查询的是默认的服装类目下的商品,所以返回了 5 个商品标题中含有 “Python” 的服装负责商品,我们注意一下商品信息中的字段

通过返回的这些信息,我们就可以制作一个简单的商品信息,这里暂且不表。

在电脑上点击打开,显示的就是我们在淘宝软件中常见的优惠券页面了:

接着来看看淘口令 API。

淘口令是淘宝的一种推广方式,专门针对于无线端的商品推广。淘口令在手机上复制之后,打开淘宝软件,就会自动跳转到淘口令的目标链接。所以淘口令相当于淘宝软件的一个暗号,既避免了其他平台对淘宝客链接的封杀,也方便推广和传播。一般淘宝联盟自动生成的淘口令推广信息如下图:

我们现在使用淘口令 API 来生成淘宝客商品优惠券的淘口令。

其请求的参数接受两个必选参数和三个可选参数,参数信息如下:

在此我们用商品标题作为参数 text 的值,商品的优惠券链接作为参数 url 的值,可选参数中用我本人的头像作为淘口令弹框的 logo。

请求成功的话,其会返回形如下所示的 json:

其中的 model 值就是生成的淘口令。

淘口令 API 的请求示例为:

我们同样将其修改一下,方便传递参数和调用,修改后的淘口令请求如下所示:

接下来,我们将代码整理一下,在获取商品优惠券的 gettbkcoupon() 函数中调用生成商品淘口令的 generate_ttoken() 函数,完整代码如下:

.

最后得到每个商品的商品标题,商品优惠券链接和商品优惠券的淘口令:

返回的结果中,每一个以人民币符号起始和结束的就是淘口令

写到这我打一波广告,

想要学习的可以考虑,欢迎等下波客服机器人更新,欢迎订阅

原文地址:http://blog.51cto.com/13710708/2118892

时间: 2024-08-09 09:08:20

使用 Python 全栈打造淘宝客微信机器人(上)的相关文章

2016年商家如何借势淘宝客打造淘宝爆款

如何利用好淘宝客?我们从商家如何借势淘宝客,获取更多流量.销量.潜在用户.如何通过淘宝客打造爆款,打造了爆款后面如何维护等等问题. 一.首先,我们在学会打造淘宝爆款之前,要先掌握流量.销量.转单.潜在客户等这几个问题. 1.流量 流量从哪里来?流量肯定不是从天上掉下来的,流量=用户.他们都是淘宝客们一个一个邀请过来,一个一个维护起来的.每一个 用户都来之不易,所以对于淘客来说,最痛恨的就是商家做伤害用户的事,譬如把用户拉到自己的CRM群啊,或者是产品品质方面有问题,或者是商家服务态度差 等等诸多

python 自动生成淘宝客链接

class tbk: __login_cookie = "" __fetch_taobaoke_url = "" def __init__(self): self.__login_cookie = self.read_file("../cookie.txt") #cookie 文件 self.__fetch_taobaoke_url = "http://pub.alimama.com/common/code/getAuctionCode

python全栈和python自动化课程的区别在哪?

老男孩算是国内组早的做python培训的机构了,下面小编对于python自动化课程及全栈课程做了一个总结,希望能帮到你们: python全栈开发: 适合人群:应届本科生,专科,及零基础学员学习基础:0基础上课形式:脱产5个月,周一至周五上课课程内容:linux基础知识,python基础知识,网络编程,数据库应用,web开发,算法设计模式项目实战:博客系统开发,CRM系统开发,CMDB开发,主机开发管理,爬虫开发,金融量化交易项目开发未来发展方向:python全栈开发工程师就业方向:python爬

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用

Java实现HMacMD5加密,用于淘宝客JS 组件 API 调用时生成 sign 的签名

原文:Java实现HMacMD5加密,用于淘宝客JS 组件 API 调用时生成 sign 的签名 源代码下载地址:http://www.zuidaima.com/share/1550463397874688.htm HMacMD5 加密纯 Java 实现,用于淘宝客 JS 组件 API 调用时生成 sign 的签名 另外:给大家贴一段淘宝客组件 API (JS API) 调用时,生成签名的核心代码. 另外:从事淘宝客开发的童鞋,碰到啥问题可以找我交流!!! String timestamp =

淘宝客知道这几个ID,收入将会提高50%

基础问题天天说,天天有人问.这篇文章写点基础的.特别对新手的帮助会很大哦. 1,PID,做淘宝客不知道PID,赚到钱也会被冻结. 如何手动获取PID 2,单品ID,淘宝商品的唯一识别编号,和身份证一样,每个商品都有个唯一的编号 天猫的 https://detail.tmall.com/item.htm?id=520105375809&ali_refid=a3_430583_1006:1103424533:N:%E4%B8%93%E4%B8%9A%E6%B3%B3%E8%A1%A3%E5%A5%B

.net淘宝客基础api 分页查询

1 using System; 2 using System.Collections.Generic; 3 using System.Configuration; 4 using System.Linq; 5 using System.Web; 6 using Top.Api; 7 using Top.Api.Request; 8 using Top.Api.Response; 9 10 namespace MvcWebApp.DataBase 11 { 12 public class TaoD

我刚刚建立个淘宝客网站,主要销售丰胸产品减肥药

我刚刚建立个淘宝客网站,主要销售丰胸产品减肥药,www.yazimeirongmeiti.com欢迎大家赏光!

腾讯从社群端整治淘宝客,90%的淘客群被封

近日不断有淘宝客反映,自己的社交账号被冻结,原因如下:该微信账号被用户投诉,并确认有大量发布垃圾信息等骚扰行为,被临时限制登录. 除此以外大量的淘客群也被封禁. 之前5月份淘宝客官方公众号发布了一条通知: "目前接到用户反馈:在微信/QQ等渠道的正常推广链接遭遇屏蔽,无法打开.如您碰到类似情况,建议可以在微信/QQ等网页上申诉.另外,分享出去的推广内容,先把链接去掉,引导买家通过淘口令购买!" 阿里随后也疑似反击:寄出快递中抽检小卡片,禁止卖家引导买家添加微信号.一旦被查出有可能删宝贝