当前位置: 首页 > news >正文

爬虫笔记24——纷玩岛(某岛)自动抢票脚本笔记

纷玩岛自动抢票,协议抢票思路实现

  • 一、获取Authorization凭证
  • 二、几个关键的参数
  • 三、几个关键的接口
    • 获取参数v,这个参数其实可以写死,可忽略
    • 通过价位获取演出的参数信息
    • 获取观演人信息,账号提前录入即可
    • 提交订单接口

先看实现图:
在这里插入图片描述

以下内容仅供交流学习使用!!!
获取Authorization是最关键的,X岛目前的接口请求比较简单

一、获取Authorization凭证

这个是用户的认证凭据,是小程序可以确保只有经过授权的用户才能访问敏感资源或执行特定操作。这有助于防止未经授权的访问和操作,从而保护资源的安全性,在后续所有的接口请求中都需要携带这个Authorization参数。类似于就是token令牌,唯一标识符。
在这里插入图片描述

二、几个关键的参数

# 开抢时间
START_TIME = "2024-11-27 15:00:00"
# 演唱会的ID,需要获取对应演唱会的id
PROJECT_ID = '3913913419'
# 要抢的 票价,记得输入有的票价,不然无法筛选对应的座位id
PRICE = 320
# 收件人信息
NAME = '收件人'
# 手机号码
PHONE = '17777777777'
# 观演人数量
COUNT = 2

三、几个关键的接口

获取参数v,这个参数其实可以写死,可忽略

# 获取参数vdef cdn_token(self):headers = {'authority': 'livelabassets.livelab.com.cn','accept': '*/*','accept-language': 'zh-CN,zh;q=0.9','content-type': 'application/json','referer': 'https://servicewechat.com/wx5a8f481d967649eb/101/page-frame.html','sec-fetch-dest': 'empty','sec-fetch-mode': 'cors','sec-fetch-site': 'cross-site','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090a13) XWEB/8555','xweb_xhr': '1',}params = {'t': str(int(time.time() * 1000)),}response = requests.get('https://livelabassets.livelab.com.cn/app/homepage/cdnToken.json', params=params,headers=headers)# print(response.status_code)# 这里会返回一个v参数,但经过验证就是写死不变的,其实这个接口不用请求直接写死也可以# print(response.json()['data']['v'])self.v = response.json()['data']['v']

通过价位获取演出的参数信息

 # 通过价位获取想要价位的座位iddef ticket_info(self):seat_list = list()for seat in self.perform_info['seatPlans']:seat_list.append(str(seat['seatPlanId']))seatPlanIds = ','.join(seat_list)response = requests.get(f'https://api.livelab.com.cn/performance/app/ticket/ticketInfo?seatPlanIds={seatPlanIds}&projectId={PROJECT_ID}&v={self.v}',headers=self.headers,)# print(response.status_code)for temp in response.json()['data']['ordinaryTicketVos']:if temp['seatPlanPrice'] == PRICE:return temp

获取观演人信息,账号提前录入即可

# 获取观演人信息def get_audience_list(self):response = requests.get('https://api.livelab.com.cn/member/member/bearer/app/list', headers=self.headers)print(response.status_code)return response.json()['data']

提交订单接口

    # 生成订单接口def create_orders(self):ticket_info = self.ticket_info()audiences = self.get_audience_list()frequent_ids = []for i in range(COUNT):frequent_ids.append(audiences[i]['frequentContactsId'])print(ticket_info)json_data = {'deliveryType': 1,'contactName': NAME,'contactPhone': PHONE,'combineTicketVos': None,'ordinaryTicketVos': None,'payment': ticket_info['seatPlanPrice'],'totalPrice': ticket_info['seatPlanPrice'] * COUNT,'performId': self.perform_info['id'],'projectId': PROJECT_ID,'privilegeCodeList': [],'audienceCount': COUNT,'frequentIds': frequent_ids,'seatPlanIds': [ticket_info['seatPlanId'],],'blackBox': ':0',}response = requests.post('https://api.livelab.com.cn/order/app/center/v3/create', headers=self.headers, json=json_data)if response.status_code == 200:print(response.status_code)print(response.text)return response.json()["msg"]

以上就是X岛实现抢票的关键几个接口!冲!
可添加我V沟通(注明来意):可购买学习资料提升自己,靠别人不如靠自己,不难的


http://www.mrgr.cn/news/78377.html

相关文章:

  • 移除链表元素(203)
  • 微信小程序生命周期详解
  • js 原型 原型链 原型链泄露
  • 2686694 - 操作方法:MSEG - DBSQL_REDIRECT_INCONSISTENCY
  • 前端预览pdf文件流
  • 【案例】泛微.齐业成助力北京中远大昌汽车实现数电票全流程管理
  • 006 单片机嵌入式中的C语言与代码风格规范——常识
  • 线索二叉树
  • 【前端】JavaScript 变量声明和函数声明的提升机制:深入探讨提升优先级与其行为
  • 【VUE3】新版Vue3+ElementPlus全家桶开发视频项目实战
  • Java代码操作Zookeeper(使用 Apache Curator 库)
  • LSA详情与特殊区域
  • Zabbix 7.0 LTS Docker Compose 部署指南与遇到问题解决
  • 学习线性表_3
  • 第二节——计算机网络(四)物理层
  • Spring |(七)AOP概念及工作流程
  • paimon的四种changelog模式(2)-none模式
  • linux模拟HID USB设备及wireshark USB抓包配置
  • Qt中QGraphics绘图类相关解释
  • Linux一篇通
  • 【TQ2440】02 串口连接进入u-boot
  • 【CSS in Depth 2 精译_061】9.4 CSS 中的模式库 + 9.5 本章小结
  • pta 题目(3)
  • 服务器记录所有用户docker操作,监控删除容器/镜像的人
  • 自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析
  • ComfyUI节点安装笔记