当前位置:   article > 正文

Python Pyside2新手应用淘宝客API接口简单获取淘宝客大额推广优惠券的实现_top.api安装

top.api安装

1.安装taobao-sdk-python3库

两种方式【pip install taobao_sdk_python3】或者【Pycharm-setting-python interpreter自行安装】。此第三方库支持Python 3.0以上!
链接如下:这里感谢GitHub作者ymj的开源
在这里插入图片描述

2.taobao-sdk-python3库中的bug

导入的taobao入口函数里面只引用几种Api的接口调用,如果需要更多,可以直接在里面添加from top.api.rest.xxxxxx import xxxxx 需要的接口!
在这里插入图片描述
在这里插入图片描述

3.关于使用taobao API的appkey,secret和adzone_id三个常用变量的获得

使用淘宝客的API必须申请为淘宝联盟的生态伙伴,也就是推广人!
淘宝联盟.生态伙伴链接入口:https://pub.alimama.com/?spm=a219t.11817172.0.df7a65f99.e5a76a15LnbpVL

进入后台后需要在推广管理面【新增媒体备案】和【推广位管理】,申请和审核完毕后如下图:不会注册建议多尝试几次,很easy……
在这里插入图片描述
在这里插入图片描述
备案管理和推广位申请OK后,需要优先进行APPKEY申请且审核通过,要不然后面将无法通过Python调用API。这是重点,重点,重点

在这里插入图片描述
审核通过后,你可以很容易的得到Key和secret!
在这里插入图片描述
当然,到这里还没有结束,没有结束!
你需要将:①淘宝客【公用】淘口令生成,②淘宝客【推广者】物料搜索,③淘宝客【公用】物料信息查询,这三个淘宝客功能场景API的使用状态申请为已获得!

放心,只要你在申请说明里面填满100个字,就能直接获得!
在这里插入图片描述
而关于adzone_id,你只要去你的推广位-pid字符串取最后的一串数字即可!
在这里插入图片描述

4.Python程序实现查找有淘宝客优惠券的方法

直接上代码

import top.api  //淘宝的API
from decimal import *  //小数的计算(避免价格不是整数)
import re

appkey = "你的appkey "
secret = "你的secret"
adzone_id = "你的pid最后一串字符串"


def TbkDgMaterialOptional(title): //查找商品的详细信息
    req = top.api.TbkDgMaterialOptionalRequest(domain='gw.api.taobao.com', port=80)
    req.set_app_info(top.appinfo(appkey, secret))
    req.adzone_id = adzone_id
    req.platform = 2
    req.q = title
    try:
         resp = req.getResponse()
         return resp
    except Exception as e:
        print(e)


def TbkCouponGet(item_id,activity_id): //查找商品的有无淘宝客对应的优惠券
    req = top.api.TbkCouponGetRequest(domain='gw.api.taobao.com', port=80)
    req.set_app_info(top.appinfo(appkey, secret))
    req.item_id = int(item_id)
    req.activity_id = str(activity_id)
    try:
        resp = req.getResponse()
        return resp
    except Exception as e:
        print(e)

def TbkTpwdCreate(title,url): //有淘宝客对应优惠券的商品生成短链接
    req = top.api.TbkTpwdCreateRequest(domain='gw.api.taobao.com', port=80)
    req.set_app_info(top.appinfo(appkey, secret))
    req.text = title
    req.url = url
    try:
        resp = req.getResponse()
        return resp
    except Exception as e:
        print(e)

if __name__ == '__main__':
	//给出要查询的商品名字
    response = TbkDgMaterialOptional("澳贝婴儿健身架健身器毯音乐脚踏钢琴3个月宝宝0-1岁新生儿童玩具")
    map_data = response['tbk_dg_material_optional_response']['result_list']['map_data'][0]
    if map_data.get('coupon_share_url') is None:
        print('没有发现优惠券')
    else:
        title = map_data.get('title')  //得到商品的名称
        itemid = map_data.get('item_id')  //得到商品的id
        activityid = map_data.get('coupon_id')  //得到优惠券的id
        share_url = "https:" + map_data.get('coupon_share_url')

        priceresponse = TbkCouponGet(itemid,activityid)
        price = priceresponse['tbk_coupon_get_response']['data']
        discount = price.get('coupon_amount')//商品的优惠券额度
        onsale= price.get('coupon_start_fee') //商品的原始价格
        difference = str(float(Decimal(onsale) - Decimal(discount)))  //优惠后的价格


        Shortlink = TbkTpwdCreate(title,share_url)
        link = Shortlink['tbk_tpwd_create_response']['data']['model'] //得到短链接
        linkterm = re.compile(r'(.*?)【.*')
        truelink = re.findall(linkterm,link) //优化为自己比较习惯的语言逻辑
        message = title + "【在售价】" + onsale + "【券后价】" + difference + "
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/159558
推荐阅读
相关标签