Python 全栈打造某宝客微信机器人
本篇 Chat 将会涉及:
Python 环境下某宝客 API 的使用;
使用 Python 第三方模块 itchat 实现某信的登录的自动回复操作;
PyQt5 的布局管理与多线程应用
- 前言
- 什么是某宝客
相信很多人都听过或者接触过各类导购 APP、QQ 群、微信群分享一些某宝商品的优惠券或是其他的优惠信息。
用户可以在这些渠道上获取到相较于从某宝平台搜索出来的商品更加优惠的价格或者是领取到面额较大的优惠券。
这些渠道,都是属于某宝客的渠道。
某宝客是某宝平台推出的一种按成交计费的推广模式,
通常也指通过这种模式赚钱的人。
前几年某宝客红火的时候,
各类导购网站、导购 APP 以及优惠券 QQ 群、微信群层出不穷,如今倒是稍显平淡了。
虽说某宝客在蜂拥的互联网上平淡了起来,
但是丝毫影响不了新加入的人群的心态,
在某宝网在搜索 “某信人导购机器”,
还可以看到很多商家在售卖某宝客的某信机器人:
这些某信机器人的功能其实主要也是自动回复群内的人的消息,以及定时推送一些优惠商品信息等。
今天,我们就使用哪哪都会出现,哪哪都行的大蟒蛇——Python,来打造一个某宝客某信机器人,实现在群聊中自动回复搜索并返回商品这一某宝客导购微信机器人最基本的功能。
注册成为某宝客
要写一个某宝客的某信机器人,
我们首先需要成为一个某宝客,
才能获取到某宝客相关的优惠资源。
方法很简单,
在某宝客的推广平台——almm某宝联盟(某宝联盟·生态伙伴)上注册一个一个帐号即可,
我们可以使用某宝的账号进行登录。
在登录之后,我们可以在 “我的联盟” 中的 “推广管理” 中进行推广媒体的设置:
在其中,我们可以添加网站、APP、导购、软件的推广等。
在此,我已经添加了一个网站的媒体,并且已经提交验证成功了。
推广媒体是某宝客中一个基本的推广商品渠道,用于归属不同的推广位,如果没有推广媒体,就没有办法创建推广位,进而无法进行某宝客的推广。
大家可以按照自己的情况创建推广媒体,推荐使用网站推广媒体。
在创建好推广媒体之后,我们还需要创建一个推广位,
推广位用于归属具体的某宝客推广商品,
在此我已经创建了网站的推广位,
其中的 PID 在我们后面调用 API 接口的时候会使用到,大家注意一下:
如果没有推广位,那么我们可以在 “联盟产品” 中点击 “精选清单” 的立即下载按钮:
其会让我们选择推广位,这时候可以新建一个推广位:
这样我们就获得了一个推广网站的推广位。
再回到推广媒体管理上,
在我们添加的网站媒体通过了almm的验证成功后,
我们会得到一个联盟合作网站的 API:
点击 “查看” 链接,
会跳转到某里开放平台上我们创建的网站推广位(推广位为在阿里开放平台上显示为一个应用)的概览中,
其中显示了我们的应用接口信息,
接口数据和我们获得的权限 API 等:
APP 证书中的 App Key 和 App Secret 会在调用 api 接口时作为凭证来认证,下方的功能场景中显示我们获取的 API 接口:在这里我的应用有:
- 某宝客基础 API
- 某宝客 - 媒体 - 内容消息
- 某口令基础包
- 某宝客 - 工具 - 超级搜索
其中某宝客基础 API 中包含了其他的一些接口的,我们主要使用这个 API 包。
这样,我们就可以开始通过 API 接口获取到某宝客的推广信息。
Python 环境下使用某宝客 API
在注册成为淘宝客,添加推广位获取到某宝客的基础 API 之后,我们就可以通过调用某宝客的 API 来获取淘宝客推广信息了。
了解某宝客接口
在调用某宝客的 API 之前,我们先来看一下,
在提交网站推广位之后获得的某宝客基础 API 中都有些什么接口:
其中一共有 23 个接口,
虽然是一个基础 API 包,
但还是包含了某宝客推广商品中的大多数信息的获取。
在本篇 Chat 介绍创建的某宝客微信机器人中,
我们主要使用以下两个接口:
清单 API【导购】taobao.tbk.dg.item.coupon.get
客某口令 taobao.tbk.tpwd.create
其他的 api 接口大家可以根据自己的需要添加在程序中。
清单 API 用于返回某宝客商品的优惠券信息,我们可以通过其来搜索特定关键词下的商品的优惠券,以作为结果返回给用户。其接受的参数如下:
某宝客淘口令 API,用于将某宝客推广链接转换为淘口令,以实现复制优惠券信息后,打开某宝就能跳转到推广链接的效果。其接受的参数如下:
可以发现,
我们主要使用 adzoneid、某口令弹框内容和某口令跳转的目标链接三个参数,
其中 adzoneid 可以从推广位的 PID 中获取,
某口令弹框内容可以设置为商品的标题,
某口令跳转的目标链接则是优惠券的链接地址,
这两个参数都可以从好券清单 API 中获取到。
下面我们来看看如何调用这两个接口。
调用淘宝客 API 接口
在 API 接口的介绍中,
我们可以看到其中有多种语言的请求实例,如下所示:
最幸运的是,其提供了 Python 的请求示例,
这样我们可以稍微修改一下示例代码(示例中为 Python2 版本的代码)就能对某宝客的 API 进行调用了,
是不是很美好?
虽然看起来很美好,但是我们还是需要额外做一些工作。
下载 al 提供的 SDK
看到示例代码中的第 2 行引入了一个 top.api 的模块,
这个模块属于al开放平台提供的 SDK,
使用 pip 等 Python 包管理工具并不能下载安装。
在al开发平台的每个应用中,
都提供了相应的 SDK 的下载链接,
我们选择 “Python 版本”,在点击下载即可。
下载完成的 SDK 是一个名为 “sdk-python-*” 的压缩包,其中还有一个压缩包和一个空的文件夹:
我们需要的 top 模块就在 taobao-sdk-PYTHON-auto 那个压缩包中,继续解压,得到以下文件:
面对一个陌生的包,好的习惯当然是查看 readme 之类的文件来知晓使用方法
我们打开 READ_ME.TXT 文件,里面的内容不多,
但说明了 top 模块如何使用:
复制 top 文件夹到自己的 Python 项目路径下,
让 Python 执行器能够引入这个 top 包即可。
得到了某宝客的 SDK 模块以及模块的使用方法后,
我们似乎可以开干了。
如果你和我一样,使用的是 Python 3 的话,
那么可以还需要再等等。
因为al开放平台提供的这个 SDK 是 Python 2 版本的,
直接在 Python 3 环境下调用会报错,
而报错的主要位置都位于 top 文件夹的 api 文件夹下的 base.py 这个文件:
我们需要对其进行代码风格和规范的转换,
可以使用 Python 官方提供的 2to3.py 这个工具。
在这里,我已经将其转换修改好并上传到百度网盘上,
有需要的同学可以下载进行替换,
链接为:
base.py_免费高速下载|百度网盘-分享无限制
这一步完成之后,我们的准备工作就已经结束了。下面使用 Python 来调用一下某宝客的接口。
调用某宝客 API
当前,我们的项目目录如下所示:
在项目主文件夹下,只有一个某宝客的 top 包,
我们新建一个 Python 文件,用于调试调用某宝客的 API:
首先在 usetbkapi.py 文件中引入某宝客的包——top,
并且定义好公共参数(App Key 和 App Secret,
两者从al开放平台 - 应用的概览中获取)和好券清单需要的 adzoneid(某宝联盟 - 推广位管理 - 推广位的 PID 中 mmxxxxxxxxx 的第三位):
import top.apiappkey = '你自己的appkey'
secret = '你自己的appsecret'
adzone_id = 推广位的adzone_id
首先是好券清单的 API,
在阿里开放平台的 API 文档中,其请求示例如下所示:
# -*- coding: utf-8 -*-
import top.apireq=top.api.TbkDgItemCouponGetRequest(url,port)
req.set_app_info(top.appinfo(appkey,secret))req.adzone_id=123
req.platform=1
req.cat="16,18"
req.page_size=1
req.q="女装"
req.page_no=1
try:resp= req.getResponse()print(resp)
except Exception,e:print(e)
我们将其修改一下,变成了如下形式:
# 获取淘宝客商品优惠券
def get_tbk_coupon(keyword):req = top.api.TbkDgItemCouponGetRequest()req.set_app_info(top.appinfo(appkey, secret))req.adzone_id = adzone_id# 商品的平台:1为PC端,2为无线端,默认为1req.platform = 2# 商品的类目IDreq.cat = "16,18"# 每页返回的商品数量req.page_size = 5# 商品的搜索词req.q = keyword# 返回商品的页数req.page_no = 1try:resp = req.getResponse()print(resp)except Exception as e:print(e)
函数 gettbkcoupon() 接受一个参数作为淘宝客商品优惠券的搜索词,我们运行一下这个函数,以 “Python” 作为搜索词看看返回的结果:
if __name__ == '__main__':get_tbk_coupon('python')
Python 全栈打造某宝客微信机器人相关推荐
- 使用 Python 全栈打造淘宝客微信机器人
1 .前言 1.1.什么是淘宝客 相信很多人都听过或者接触过各类导购 APP.QQ 群.微信群分享一些淘宝商品的优惠券或是其他的优惠信息. 用户可以在这些渠道上获取到相较于从淘宝平台搜索出来的商品更加 ...
- 淘宝客微信机器人接口API开发
淘宝客微信机器人API接口,淘客机器人API,微信机器人API 微信二次开发完整API功能 需要文档的自取wkteam.gitbook.io 今天给大家介绍微信个人号自动回复机器人的二次开发!使用微信 ...
- 淘宝客微信机器人SDK调用接口
淘宝客微信机器人SDK调用接口定义 手机客户端上传的通知类消息 (删除了没用的) 8.手机客户端微信上线通知 9.手机客户端微信下线通知 10.微信个人号新增好友通知 11.微信个人号移除好友通知 1 ...
- 最新python全栈3期高级开发工程师 独家完整版
课程目录: │ ├─1-10 │ │ │ ├─day01 │ │ 01 python全栈s3 day1 计算机发展史.mp4 │ │ 02 python全栈s3 d ...
- 2018 python全栈3期高级开发工程师 独家完整版
课程目录: │ ├─1-10 │ │ │ ├─day01 │ │ 01 python全栈s3 day1 计算机发展史.mp4 │ │ 02 python全栈s3 day1 计算机系统.mp4 │ │ ...
- 淘宝客返利机器人哪个好用点?怎么做?
淘客返利机器人一般指的是微信群.微信公众号.微信小程序.微信号等终端,利用软件系统自动为用户提供找淘宝.京东.拼多多等平台的优惠券服务. 用户只要复制相关的商品链接或者淘口令发给微信机器人,微信机器人 ...
- 〖Python全栈白宝书-免费版⑲〗- 字符串的编码格式
该篇文章为 Python全栈白宝书-免费版试读部分,觉得还可以的小伙伴欢迎订阅下方推荐的 Python全栈白宝书. 推荐: Python全栈白宝书专栏,免费阶段订阅数量4300+,购买任意白宝书体系化 ...
- 〖Python全栈白宝书-免费版①〗- Python编程环境搭建-Python3解释器安装
该篇文章为 Python全栈白宝书-免费版试读部分),觉得还可以的小伙伴欢迎订阅下方推荐的 Python全栈白宝书. 推荐: Python全栈白宝书专栏,免费阶段订阅数量4300+,购买任意白宝书体系 ...
- 〖Python全栈白宝书-免费版㉕〗- Python字典的常用方法
该篇文章为 Python全栈白宝书-免费版试读部分,觉得还可以的小伙伴欢迎订阅下方推荐的 Python全栈白宝书. 推荐: Python全栈白宝书专栏,免费阶段订阅数量4300+,购买任意白宝书体系化 ...
- python 全栈开发,Day81(博客系统个人主页,文章详情页)
一.个人主页 随笔分类 需求:查询当前站点每一个分类的名称以及对应的文章数 完成这个需求,就可以展示左侧的分类 它需要利用分组查询,那么必须要会基于双下划线的查询. 基于双下划线的查询,简单来讲,就是 ...
最新文章
- HDU 4407 sum 容斥原理
- 在C#中怎样推断线程当前所处的状态
- mysql数据库使用
- NYOJ128前缀式计算
- linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。
- GTADIR check object exist in another system
- python选课系统代码_python模拟选课系统
- 栈实现队列(队列实现栈)
- python 字符串中符号的意义
- sklearn 下的 ensemble learning
- flask前端优化:css/js/html压缩
- docker-containerd 启动流程分析
- z变换判断稳定性和因果性_信号与系统(奥本海姆)
- win7计算机里没有网络图标,Win7网络图标不见了怎么办?Win7系统找回网络图标的方法...
- Java isEmpty()方法
- C#用easy-mvc开发的后台管理系统
- 程序员必需知道的MySQL:MySQL和SQL Server的区别
- 修改macOS中程序坞的位置和图标大小
- c语言的酒店管理系统源码供参考学习
- Power Pivot中“父行汇总百分比”的度量值写法