某东抢购某台脚本——高版本

2024-05-08 02:12

本文主要是介绍某东抢购某台脚本——高版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

某东抢购某台脚本——高调

小白操作-学习参考
在这里插入图片描述

说明

这个脚本用于自动化京东的秒杀过程,特别是对于高需求商品如茅台。它展示了通过自动化工具模拟用户行为的能力,但同时也涉及到了使用自动化脚本可能违反网站使用条款的问题。使用此类脚本前应确保合规,了解可能的风险。

这段脚本是为了自动化京东的秒杀活动而编写的。它涵盖了预约、获取令牌、跳转、以及最终的提交订单等多个步骤。以下是脚本各部分的详细解析:

函数和类解释

  1. getUrlParams(url):
  • 解析URL中的查询参数并返回字典格式。
  1. get_cookie_string(cookie):
  • 将cookie字典转换为字符串格式,以便在HTTP请求中使用。
  1. get_jd_time():
  • 请求京东服务器时间,主要用于同步操作时间。
  1. get_sk(data):
  • 通过特定的加密和处理逻辑生成sk值,此值可能用于提交订单时验证。

脚本流程

  1. 实例化JDSecKillAPI类。

  2. 调用reserve_maotai()函数进行预约。

  3. 获取令牌。

  4. 通过令牌获取跳转链接。

  5. 处理跳转,获取和处理验证码。

  6. 初始化订单操作。

  7. 获取sk值。

  8. 提交订单。

额外的注意点

  • 使用了外部模块JniSign进行签名,这是一种保护措施以符合京东的API安全要求。

  • 脚本涉及多次跳转和请求,反映了京东防刷措施的复杂性。

  • 脚本运行依赖于正确的cookie和其他验证信息,这些信息需要事先获取。
    脱敏处理部分代码

import requests
import re
import datetime
from urllib import parse
import JniSign
import timedef getUrlParams(url):res = dict(parse.parse_qsl(url))return resdef get_cookie_string(cookie):cookie_string = ''for cookie_key in cookie.keys():cookie_string += '%s=%s;' % (cookie_key, cookie[cookie_key])return cookie_stringdef get_jd_time():response = requests.get(url='https://api.m.jd.com/client.action?functionId=queryMaterialProducts&client=wh5')print(response.json())def get_sk(data):data_val = [val for val in data['data'].values()]n, o, p, q, r, s = data_val[0], data_val[1], data_val[2], data_val[3], data_val[4], data_val[5]sk_val = ''if n == 'cca':sk_val = p[14:19].lower() + o[5:15].upper()if n == 'ab':  # check oksk_val = r[10:18] + s[2:13].lower()if n == 'ch':sk_val = q.upper() + r[6:10].upper()if n == 'cbc':  # check oksk_val = q[3:13].upper() + p[10:19].lower()if n == 'by':sk_val = o[5:8] + re.sub('a', 'c', p, flags=re.IGNORECASE)if n == 'xa':sk_val = o[1:16] + s[4:10]if n == 'cza':sk_val = q[6:19].lower() + s[5:11]if n == 'cb':sk_val = s[5:14] + p[2:13].upper()return sk_valif __name__ == '__main__':login_cookie_186 = {'pin': '','wskey': '','whwswswws': '','unionwsws': ''}JDska = JDSecKillAPI(login_cookie=login_cookie_186)print(JDska.reserve_maotai())token_params = JDska.get_token_key()divide_url = JDska.get_appjmp(token_params=token_params)captcha_url = JDska.get_divide(divide_url=divide_url)seckill_url = JDska.get_captcha(captcha_url=captcha_url)JDska.get_seckill(seckill_url=seckill_url)order_data = JDska.init_action()sk_val = JDska.get_tak()print('python计算sk参数:%s' % sk_val)JDska.submit_order(order_data=order_data, sk=sk_val)

注意:

本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,

这篇关于某东抢购某台脚本——高版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969017

相关文章

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作