当前位置: 首页 > 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沟通(注明来意):

相关文章:

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

纷玩岛自动抢票,协议抢票思路实现 一、获取Authorization凭证二、几个关键的参数三、几个关键的接口获取参数v,这个参数其实可以写死,可忽略通过价位获取演出的参数信息获取观演人信息,账号提前录入即可提交订单接口 先看实现图&a…...

《白帽子讲Web安全》15-16章

《白帽子讲Web安全》15-16章 《白帽子讲Web安全》15章15、Web Server配置安全15.1、Apache安全15.2、Nginx安全15.3、jBoss远程命令执行15.4、Tomcat远程命令执行15.5、HTTP Parameter Pollution15.6、小结 第四篇 互联网公司运营安全《白帽子讲Web安全》16章16、互联网业务安全…...

计算机毕业设计Python+LSTM天气预测系统 AI大模型问答 vue.js 可视化大屏 机器学习 深度学习 Hadoop Spark

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

大语言模型压缩技术;推理优化技术;SparseGPT算法;GPTQ算法

目录 大语言模型落地的成本、效率与效果 模型压缩技术 推理优化技术 SparseGPT算法 GPTQ算法 大语言模型落地的成本、效率与效果 模型压缩技术 模型压缩技术是大语言模型轻量化的关键。介绍了多种模型压缩方法,其中权重量化和模型稀疏化是两种主要的技术。 权重量化:权重…...

Facebook的开源项目解析:推动开发者社区的技术进步

Facebook,作为全球领先的社交平台之一,其在技术领域的创新不仅体现在产品功能的实现上,也积极推动开源社区的发展。开源项目已经成为Facebook技术战略的重要组成部分,通过开源,Facebook不仅加速了技术进步,…...

力扣--LCR 149.彩灯装饰记录I

题目 代码 /** Definition for a binary tree node. public class TreeNode { int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right ri…...

Rust SQLx CLI 同步迁移数据库

上文我们介绍了SQLx及SQLite,并介绍了如何使用代码同步迁移数据库。本文介绍Sqlx cli 命令行工具,介绍如何安装、使用,利用其提供的命令实现数据表同步迁移。Java生态中有flyway, sqlx cli 功能类似,利用命令行工具可以和其他语言…...

批量生成不同用户的pdf 文件(html样式)

技术 selenium thymeleaf itextpdf chromedriver 使用thymeleaf 将动态数据替换 使用selenium chromedriver 进行js &#xff0c;css等逻辑运算后渲染视图 使用itextpdf 将html 转为pdf 文件 html模板 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf…...

混淆零碎知识点

minifyEnabled true //混淆开关 zipAlignEnabled true // Zipalign优化 shrinkResources true // 移除无用的resource文件 &#xff08;必须要混淆开了之后才才可以设置为true&#xff09; proguard-rules.pro 为混淆文件 //整个文件保留 不被混淆 -keep class com.cn…...

排序算法2

排序算法1-CSDN博客 排序算法1中提及的是较为基础(暴力实现&#xff0c;复杂度较高)的排序算法&#xff0c;不适合于数据量较大的场景&#xff0c;比如序列长度达到1e5 接下来以蓝桥另一道题目来理解其它的排序算法 蓝桥3226 蓝桥账户中心 样例 5 1 5 9 3 7 4、快速排序 快速排…...

【Web开发基础学习——corsheaders 应用的理解】

Web开发基础学习系列文章目录 第一章 基础知识学习之corsheaders 应用的理解 文章目录 Web开发基础学习系列文章目录前言一、使用1.1 安装1.2 配置 二、功能总结 前言 corsheaders 是一个 Django 第三方应用&#xff0c;用于处理跨域资源共享 (CORS)。CORS 是一种机制&#x…...

Redis和MySQL之间如何进行数据同步

原因 为什么要进行Redis和MySQL的数据同步&#xff1f; 性能优化&#xff1a;MySQL是关系型数据库&#xff0c;数据读取和存储相对复杂&#xff1b;Redis是内存数据库&#xff0c;读写速度极快&#xff0c;将热点数据存在Redis&#xff0c;可以大大提高系统的访问速度。 数据…...

css:转换

转换 移动 /* transform: translate(100px, 200px); */transform: translateX(100px);transform: translateY(100px); /*一个意思*/ 如果后面跟百分数的意思是移动盒子自身x/y方向长度的百分比&#xff0c;可以用作子绝父相控制盒子水平居中垂直居中 translate里的xy值是相对…...

状态管理与存储:Vuex 和 sessionStorage

1. sessionStorage 存储位置 sessionStorage 是浏览器提供的 Web Storage API 的一部分&#xff0c;用于在一个会话期间存储数据。数据保存在浏览器的 内存 中&#xff0c;而不是在硬盘上&#xff0c;且其生命周期仅限于当前浏览器标签页。数据在浏览器窗口或标签页关闭时会被…...

Redis和MySQL保持一致性的延迟双删(Delay Double Delete)策略

Redis和MySQL保持一致性的延迟双删&#xff08;Delay Double Delete&#xff09;策略&#xff0c;是一种在数据更新或删除时为了保证数据一致性而采取的方法。以下是延迟双删的过程和原理的详细解释&#xff1a; 一、过程 第一次删除缓存&#xff1a; 当需要更新数据库中的数据…...

快速理解微服务中Fegin的概念

一.由来 1.在传统的架构里面&#xff0c;我们是通过使用RestTemplate来访问其他的服务&#xff0c;但是这种方式就存在了一个很大的缺陷&#xff0c;也就是被调用方如果发生了服务的迁移(IP和端口发生了变化)&#xff0c;那么调用方也需要同步的在代码里面进行修改&#xff0c;…...

新增工作台模块,任务中心支持一键重跑,MeterSphere开源持续测试工具v3.5版本发布

2024年11月28日&#xff0c;MeterSphere开源持续测试工具正式发布v3.5版本。 在这一版本中&#xff0c;MeterSphere新增工作台模块&#xff0c;工作台可以统一汇总系统数据&#xff0c;提升测试数据的可视化程度并增强对数据的分析能力&#xff0c;为管理者提供测试工作的全局…...

快速搭建一个博客!!!“Halo框架深度优化:搭建你的个性化博客或网站”

目录 引言&#xff1a; 一. 首先服务器上去下载一个docker 1.可以参考官方地址&#xff1a; 2. 通过宝塔来一键安装&#xff01;&#xff01;&#xff01; 3.也可以自己下载&#xff01;&#xff01;&#xff01; 1.卸载旧版 2.配置Docker的yum库 3.安装Docker 4.启动和…...

009 STM32 HAL库介绍

STM32 HAL库&#xff08;Hardware Abstraction Layer&#xff09;是STMicroelectronics为STM32系列微控制器提供的一套硬件抽象层库&#xff0c;它旨在简化STM32的开发过程&#xff0c;提高代码的可移植性和可维护性。HAL库通过提供一组统一的API接口&#xff0c;使得开发者无需…...

【微服务】 Eureka和Ribbon

一、Eureka 服务调用出现的问题&#xff1a;在远程调用另一个服务时&#xff0c;我们采用的解决办法是发送一次http请求&#xff0c;每次环境的变更会产生新的地址&#xff0c;所以采用硬编码会出现很多麻烦&#xff0c;并且为了应对并发问题&#xff0c;采用分布式部署&#…...

6.算法移植第六篇 YOLOV5/rknn生成可执行文件部署在RK3568上

接上一篇文章best-sim.rknn模型生成好后&#xff0c;我们要将其转换成可执行文件运行在RK3568上&#xff0c;这一步需要在rknpu上进行&#xff0c;在强调一遍&#xff01;&#xff01;rknpu的作用是可以直接生成在开发板上运行的程序 退出上一步的docker环境 exit1.复制best-…...

element的el-table表格标题用css自定义是否必填,用添加伪类的方式标红色*

element的el-table表格标题用css自定义是否必填添加伪类红色 * 效果图如下&#x1f447; el-table组件的html部分 css部分 /deep/.el-table__header-wrapper{.el-table__header{.has-gutter tr .el-table__cell:nth-of-type(3) .cell:before{content: *;color:red}.has-gutte…...

数据仓库: 8- 数据仓库性能优化

CSDN 目录展示 目录 8- 数据仓库性能优化8.1 查询优化8.1.1 索引优化8.1.2 分区和分桶8.1.3 使用缓存8.1.4 查询简化与重写8.1.5 聚合优化8.1.6 并行化和分布式计算8.1.7 基于列存储的优化8.1.8 表的分区和数据清洗8.1.9 查询提示 (Hints)8.1.10 自动调优工具 8.2 索引设计8.2…...

可编程网络在分布式深度学习通信瓶颈控制中的应用与未来展望

目录 可编程网络在分布式深度学习通信瓶颈控制中的应用与未来展望 可编程网络在分布式深度学习通信瓶颈控制中的应用与未来展望 在分布式深度学习领域,随着模型规模的不断扩大,训练过程中的通信开销已成为制约性能提升的关键因素。传统的分布式训练方法面临高通信延迟和带宽…...

【论文笔记】Tool Learning with Foundation Models 论文笔记

Tool Learning with Foundation Models 论文笔记 文章目录 Tool Learning with Foundation Models 论文笔记摘要背景&#xff1a;工作&#xff1a; 引言工具学习的发展本文工作&#xff08;大纲&目录&#xff09; 背景2.1 工具使用的认知起源2.2 工具分类&#xff1a;用户界…...

Springfox迁移到 Springdoc OpenAPI 3

将项目从 Springfox 迁移到 Springdoc OpenAPI 3 时&#xff0c;主要的工作是将原先使用的 Springfox 注解替换为 Springdoc OpenAPI 3 中的对应注解。虽然 Springdoc OpenAPI 3 基于 OpenAPI 3 规范&#xff0c;并且有一些不同的命名方式和设计理念&#xff0c;但大部分注解的…...

DIY-Tomcat part 3 实现对动态资源的请求

实现ServletRequest package connector;import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.ServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i…...

3.10 内核 BUG_ON() at xfs_vm_writepage() -> page_buffers()

目录 前言 问题分析 page buffers创建 page buffers丢失 Write-Protect Dirty Page w/o Buffers 问题解决 前言 这个问题发生在3.10.0-514.el7上&#xff0c;并且在RHEL的知识库中快速找到了对应的案例以及解决方案&#xff0c;但是&#xff0c;理解问题如何发生和解决…...

CrystalDiskInfo:硬盘健康监测工具简介和下载

原论坛给你更好的阅读体验&#xff1a;CrystalDiskInfo&#xff1a;硬盘健康监测工具简介和下载 | 波波论坛 引言 在日常使用电脑时&#xff0c;硬盘的健康状态对于系统的稳定性和数据的安全性至关重要。硬盘出现故障可能会导致数据丢失&#xff0c;严重时甚至会使整个系统无…...

Flink cdc同步增量数据timestamp字段相差八小时(分析|解决)不是粘贴复制的!

问题 我使用flink cdc同步mysql到mysql遇到了timestamp字段缺少八小时的问题。很少无语&#xff0c;flink ,cdc,debezium时区都设置了&#xff0c;没有任何效果&#xff01; 分析 问题出现在mysql binlog身上&#xff01;&#xff01;&#xff01; 因为默认mysql会使用UTC来…...

网站死循环/免费网站推广网站破解版

自学部分学习能力强并且有自制力的人还是可以学习成功的&#xff0c;那么如何自学Web前端开发&#xff1f; 我们首先得知道Web前端开发工程师是什么&#xff1f;工作内容有哪些&#xff1f;百度一下就可以知道&#xff0c;Web前端开发主要进行网站开发&#xff0c;优化&#xf…...

昆明商城网站开发/热搜榜百度

介绍 Python 作为一门相当简洁的计算机语言&#xff0c;目前已经拥有诸多用户。而英文的帮助文件或多或少给英语水平不太好的用户带来了一定的不便。事实上&#xff0c;官网就有中文手册&#xff0c;为了大家的方便&#xff0c;这里下载下来中英两种格式的PDF文件&#xff0c;并…...

重庆做营销网站建设/今日重大新闻头条十条

前言&#xff1a;貌似时隔上一篇博客已经过了很久了&#xff0c;这里再写一下关于vi&#xff08;vim&#xff0c;gvim&#xff09;的配置 一、vi编辑器的配置文件及目录需要提到的是&#xff0c;vi编辑器的配置文件主要有两个地方1. &#xff5e;/.vimrc #这里以.开头说明…...

上海网站营销/网络整合营销案例

现如今&#xff0c;随着云计算和分布式的落地和发展&#xff0c;越来越多的服务器都转到云上&#xff0c;微服务架构的落地也让现在的 IT 系统架构越来越复杂。我们的服务、应用所面对的规模也越来越大&#xff0c;这样的需求需要强大的运维管控系统在后面支撑。 智能运维&…...

广西城乡建设委员会的网站/怎么联系百度客服

原文&#xff1a;https://jingyan.baidu.com/article/5bbb5a1b634cca53eba179ce.html 首先说一下密码必须是6~18位之间的数字&#xff0c;正则表达式为"^[0-9]{6,18}$"&#xff0c;其中[0-9]表示必须是数字&#xff0c;{6,18}表示必须在6到18位之间&#xff0c;代码如…...

黑龙江能源建设网站/最新的疫情情况

jupyter notebook 需要用谷歌浏览器打开才可以&#xff0c;其他的浏览器打开后多半是空白的。添加默认浏览器如下&#xff1a; 1.在anaconda prompt 里面直接输入 jupyter notebook --generate-config 让jupyter生成一个配置文件&#xff0c;生成后你会看到文件地址的2.然后就可…...