获取淘宝优惠券

1 前言

经常看到别人在淘宝买东西可以领到好多优惠券,我也想要啊,于是利用自己毕生所学,通过各种百度,搜刮全网各种信息,终于找到一个可以查找优惠券的接口,梦想得以实现了,哈哈哈哈。。。实在是太开心了,今天分享给大家。

2 获取淘宝优惠券

2.1 获取淘宝口令文字

  • 在淘宝找到想要购买的物品,点击分享,然后点击复制链接即可复制该物品的口令

  • 找一个空白文件进行粘贴,即可获得该物品的淘宝口令文字

幅治本段内容₤51Pn1CY8Djc₤咑幵淘tao寳【爱国者正品新款红轴个性创意机械键盘炫彩背光电竞吃鸡LOL游戏装备有线键盘台式笔记本电脑男女办公通用USB】

注:其中₤51Pn1CY8Djc₤即淘宝口令

2.2 提取淘宝口令

使用正则匹配提取淘宝口令。

代码如下:

import re


# 判断是否含有淘宝口令
def judge_code(words):
    pat = re.compile("[₳$¢₴€₤¥$《(₰]" + r"\w{11}" + "[₳$¢₴€₤¥$《)₰]")
    result = pat.findall(words)
    if result:
        return result[0]
    return False


if __name__ == '__main__':
    words = "幅治本段内容₤51Pn1CY8Djc₤咑幵淘tao寳【爱国者正品新款红轴个性创意机械键盘炫彩背光电竞吃鸡LOL游戏装备有线键盘台式笔记本电脑男女办公通用USB】"
    kl = judge_code(words)
    if kl:
        print("淘宝口令为:", kl)
    else:
        print("该段文字中不包含淘宝口令")

运行结果如下:

2.3 获取该物品的id

准备工作:

代码如下:

import json

import requests


def get_info(old_code):
    params = {
        "param.sort": "0",
        "param.page": "1",
        "param.pageSize": "100",
        "param.keyWord": old_code
    }
    # 发送请求
    resp = requests.get(info_url, params=params, headers=headers)

    # 判断是否正确返回
    if resp.status_code != 200:
        return False
    else:
        content = resp.text
        id = json.loads(content)["PData"][0]["num_iid"]
        return id


if __name__ == '__main__':
    # 获取物品id的URL
    info_url = "http://mgi.sitezt.cn/api/i/cmsitem/cmsqwsearch"
    # 请求头
    headers = {
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cache-Control": "no-cache",
        "Connection": "keep-alive",
        "Host": "mgi.sitezt.cn",
        "Pragma": "no-cache",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
    }
    old_code = "₤51Pn1CY8Djc₤"
    id = get_info(old_code)
    if id:
        print("该物品淘宝id为:", id)
    else:
        print("获取该物品淘宝id失败!")

运行结果如下:

2.4 获取含有优惠券的淘宝口令

准备工作:

代码如下:

import json
import requests


def get_code(id):
    params = {
        "Dto.rId": "2318806650",
        "Dto.inviteCode": "ZC4V7HY",
        "Dto.shortInviteCode": "",
        "Dto.pId": "",
        "Dto.userToken": "",
        "Dto.domain": "7gv.7fw48.cn",
        "Dto.itemId": id,
        "Dto.needInviteCode": "true",
        "Dto.againLess": "true",
        "Dto.newUserInfo": "true",
        "Dto.itemInfo": "true",
        "Dto.url": "true",
        "Dto.kL": "true",
        "Dto.shortUrl": "true",
        "Dto.downloadGuide": "true"
    }
    resp = requests.get(code_url, params=params, headers=headers)

    # 判断是否正确返回
    if resp.status_code != 200:
        return False
    else:
        content = resp.text
        new_kl = json.loads(content)["KL"]
        return new_kl


if __name__ == '__main__':
    # 获取优惠券淘宝口令网站
    code_url = "http://mgi.sitezt.cn/api/b/buy"
    # 请求头
    headers = {
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cache-Control": "no-cache",
        "Connection": "keep-alive",
        "Host": "mgi.sitezt.cn",
        "Pragma": "no-cache",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
    }
    id = "579587549572"
    new_kl = get_code(id)
    if new_kl:
        print("该物品优惠券淘宝口令为:", new_kl)
    else:
        print("获取该物品优惠券淘宝口令失败!")

运行结果如下:

3 代码汇总

import json
import re
import requests


class YouHuiQuan():
    def __init__(self):
        # 获取物品信息的URL
        self.info_url = "http://mgi.sitezt.cn/api/i/cmsitem/cmsqwsearch"
        # 获取物品优惠券的URL
        self.code_url = "http://mgi.sitezt.cn/api/b/buy"
        # 请求头
        self.headers = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "Accept-Encoding": "gzip, deflate",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Cache-Control": "no-cache",
            "Connection": "keep-alive",
            "Host": "mgi.sitezt.cn",
            "Pragma": "no-cache",
            "Upgrade-Insecure-Requests": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
        }

    def get_info(self, old_code):
        params = {
            "param.sort": "0",
            "param.page": "1",
            "param.pageSize": "100",
            "param.keyWord": old_code
        }
        # 发送请求
        resp = requests.get(self.info_url, params=params, headers=self.headers)

        # 判断是否正确返回
        if resp.status_code != 200:
            return False
        else:
            content = resp.text
            id = json.loads(content)["PData"][0]["num_iid"]
            return id

    def get_code(self, id):
        params = {
            "Dto.rId": "2318806650",
            "Dto.inviteCode": "ZC4V7HY",
            "Dto.shortInviteCode": "",
            "Dto.pId": "",
            "Dto.userToken": "",
            "Dto.domain": "7gv.7fw48.cn",
            "Dto.itemId": id,
            "Dto.needInviteCode": "true",
            "Dto.againLess": "true",
            "Dto.newUserInfo": "true",
            "Dto.itemInfo": "true",
            "Dto.url": "true",
            "Dto.kL": "true",
            "Dto.shortUrl": "true",
            "Dto.downloadGuide": "true"
        }
        resp = requests.get(self.code_url, params=params, headers=self.headers)

        # 判断是否正确返回
        if resp.status_code != 200:
            return False
        else:
            content = resp.text
            KL = json.loads(content)["KL"]
            return KL

    # 判断是否含有淘宝口令
    def judge_code(self, words):
        pat = re.compile("[₳$¢₴€₤¥$《(₰]" + r"\w{11}" + "[₳$¢₴€₤¥$《)₰]")
        result = pat.findall(words)
        if result:
            return result[0]
        return False


if __name__ == '__main__':
    # words = "幅治本段内容₤51Pn1CY8Djc₤咑幵淘tao寳【爱国者正品新款红轴个性创意机械键盘炫彩背光电竞吃鸡LOL游戏装备有线键盘台式笔记本电脑男女办公通用USB】"

    yhq = YouHuiQuan()

    words = input("请输入淘宝链接:")

    kl = yhq.judge_code(words)
    if kl:
        print("淘宝口令为:", kl)
    else:
        print("该段文字中不包含淘宝口令")

    id = yhq.get_info(kl)
    if id:
        print("该物品淘宝id为:", id)
    else:
        print("获取该物品淘宝id失败!")

    new_kl = yhq.get_code(id)
    if new_kl:
        print("该物品优惠券淘宝口令为:", new_kl)
    else:
        print("获取该物品优惠券淘宝口令失败!")

运行结果:

请输入淘宝链接:幅治本段内容₤51Pn1CY8Djc₤咑幵淘tao寳【爱国者正品新款红轴个性创意机械键盘炫彩背光电竞吃鸡LOL游戏装备有线键盘台式笔记本电脑男女办公通用USB】
淘宝口令为: ₤51Pn1CY8Djc₤
该物品淘宝id为: 579587549572
该物品优惠券淘宝口令为: ₰wl5q1C15Ofx₰

4 检验效果

复制该口令(₰i4fb1CYEdHv₰),并打开淘宝,如下图所示:

  • 点击打开

  • 点击立即领券

  • 然后进行下单,如图所示:店铺优惠,减200大洋

大功告成,可以快快乐乐的剁手了,再也不用担心买贵了,哈哈哈~

什么???不会写代码???嫌麻烦???好吧!!!

下面二维码帮你搜优惠券

效果如下:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值