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

python最新h5st4.9.1调用源码(2025-10-25)

废话不多说,直接上源码,需要技术支持的私。

一、调用js方法:

# -*- coding: utf-8 -*-
"""
-------------------------------------------------Author: byc6352File: jdh5st.pyTime: 2024/10/25 08:03Technical Support:byc6352 or metabycf or 39848872 or t:byc01
-------------------------------------------------Change : 2024/10/25 08:03
-------------------------------------------------Desc:
"""
import json
import random
import re
import subprocess
import time
from functools import partialfrom curl_cffi import requests
from loguru import loggersubprocess.Popen = partial(subprocess.Popen, encoding="utf-8")
import execjs
import function
cookie=None
js = execjs.compile(open("./jd_h5st_encrypt.js", "r", encoding="utf-8").read())def load_cookie():global cookietry:text=function.loadfromfile("cookie.txt")cookie=function.cookies_raw_to_dic(text)##print(cookie)except Exception as e:print('do_GET:error:', e)print(e.__traceback__.tb_frame.f_globals["__file__"])  # 发生异常所在的文件print(e.__traceback__.tb_lineno)  # 发生异常所在的行数def gen_pvid():e = int(time.time() * 1000)uuid_template = "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx"uuid = list(uuid_template)for i, char in enumerate(uuid):if char in ['x', 'y']:n = int((e + 16 * random.random()) % 16)e = e // 16if char == 'x':uuid[i] = hex(n)[2:]elif char == 'y':uuid[i] = hex((3 & n | 8) % 16)[2:]return ''.join(uuid)def get_algo(ai):fp = js.call('generateVisitKey')localTk = js.call("localTk", fp)expandParams = js.call('expandParams', ai, fp)headers = {"authority": "cactus.jd.com","accept": "application/json","content-type": "application/json","referer": "https://search.jd.com/","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}url = "https://cactus.jd.com/request_algo"data = {"version": "4.9","fp": fp,"appId": ai,"timestamp": int(time.time() * 1000),"platform": "web","expandParams": expandParams,"fv": "h5_file_v4.9.1","localTk": localTk}data = json.dumps(data, separators=(',', ':'))response = requests.post(url, headers=headers, data=data).json()tk = response["data"]["result"]["tk"]algo = response["data"]["result"]["algo"]rd = re.findall("rd='(.*?)';", algo)[0]algo = re.findall(r"algo\.(.*?)\(", algo)[0]return fp, algo, tk, rddef get_price(sku):api_appid = 'fb5df'# fp, algo, tk, rd = get_algo(api_appid)# logger.debug(f"{api_appid} fp:{fp} algo:{algo} tk:{tk} rd:{rd}")fp = "ccsso21xkrcdsso4"algo = "MD5"tk = "tk03wb29d1c3818nbBzsTa1fMY0YpJ-a1oVdzNECsY-6qpvJOazfg8PX89fpcfliGs5xSd81_dHpGCY3wdXM8tk1GaAT"rd = "3nPfbbv0qakI"ts = str(int(time.time() * 1000))headers = {"authority": "api.m.jd.com","accept": "application/json, text/javascript, */*; q=0.01","referer": "https://item.jd.com/","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36","x-referer-page": "https://item.jd.com/10109684762090.html","x-rp-client": "h5_1.0.0"}##if cookie!=None:## headers["cookie"]=cookiecookies = {"__jdu": "17293987875691788438336","areaId": "5","PCSYCityID": "CN_130000_130400_0","shshshfpa": "9a5434d1-55dc-0b17-afb7-517c7299dd2e-1729398790","shshshfpx": "9a5434d1-55dc-0b17-afb7-517c7299dd2e-1729398790","pinId": "aKKFIx5WU89-6cLG7RSx1LV9-x-f3wj7","pin": "jd_7d020ac3ec434","unick": "%E5%A6%96%E5%93%A5%E5%93%A56","ceshi3.com": "203","_tp": "S6HK9Ih%2B7UrKGpY9ovXQfMq0WHQ%2FwHGym2ktIj59trg%3D","_pst": "jd_7d020ac3ec434","source": "PC","platform": "pc","jcap_dvzw_fp": "lgBMB_apUig7S62c6AvSfP1hV5HL7Fu-cZvU37TRpJ64aiUg3IsxH4AuPAZpKuTrji0U7nguXGhlqgP0U0mNkg==","__jdv": "85788037%7Ciosapp%7Ct_335139774%7Cappshare%7CWxfriends_shareid101031fedc18929f26de611fe262f282c89ab92d17295286322613_shop_none%7C1729564673140","3AB9D23F7A4B3CSS": "jdd03FTRIVEJ57GI3RV367OZTPMDFSHECQZZQ752F5TAERK77C2FNCI6XCDDVZFB445VUAYU4A7ILASDV6TO5SQGW5TNQ5EAAAAMSWMNMGJYAAAAADXF3KQK6YPSOEUX","_gia_d": "1","thor": "8718533D55F74202EDC9C17A7E55808D7856B964B017DF0C1F2C996EFCAE2E9B487EA279BB9C4AF8627984349130413A310A59A68301703BAB5EEC08235787CFF620274881E0F6254EB4A4B396CFAD3F1AC43BC09558540E0B0ECE85645B9EC2E2C855B13AED1435DF7560BFF3C22D523D64EE3E9485520D9810315A939E3DC5F1A5E8209A25FA7D8BEC86554A81A5EDF1AC17418AF088F3655E7C54717A222F","light_key": "AASBKE7rOxgWQziEhC_QY6ya74pU_faxeaBQMG0ouMjvAQAf0N3WNJ56y5B2k3P51ls6dAAG","3AB9D23F7A4B3C9B": "FTRIVEJ57GI3RV367OZTPMDFSHECQZZQ752F5TAERK77C2FNCI6XCDDVZFB445VUAYU4A7ILASDV6TO5SQGW5TNQ5E","mt_xid": "V2_52007VwMUUVVaWlMZQB9YAm8DFFtUXVBTHUsebAUyV0ZbWAxVRhZBHwsZYlYRB0EIBw4bVU4MUDAKFgVbUVVSGXkaXQZiHxJTQVtRSx9NEl8HbAYVYl9oUmocSRBfAG4LFFFcUGJfHkAf","token": "ad66c84aac27a21c59e6c2814cf2ccb8,3,960878","jsavif": "1","__jda": "181111935.17293987875691788438336.1729398788.1729564610.1729581727.3","__jdb": "181111935.4.17293987875691788438336|3.1729581727","__jdc": "181111935","flash": "3_wvbkgYLTyY4F9-gCClJhlyo1Mw1QdzEbrk0lxRVQjGHxB0O1D7nYf6Y8IV02Vz6LkkRL8Q12x0YuMeVgdoadMLq4BD7dOniCaNTsUMDeUGnLsSCuvinpGoXDrM0R8i9t_bXwlNT9gDDqBmSB-6Gk3ApkTokIkmpsuDoIX7zlrxByBr8-mw32-V**","ipLoc-djd": "5-148-172-34120","shshshfpb": "BApXSFfcUsPdAoprBp5vlox1-OAvJX2z0Bmt4gL9p9xJ1MrqzCYG2"}url = "https://api.m.jd.com/"body = {"skuId": sku,"cat": "1320,2641,2642","area": "5_148_172_34120","shopId": "12207507","venderId": 12518117,"paramJson": "{\"platform2\":\"1\",\"colType\":0,\"specialAttrStr\":\"p0ppppppppppppppppppppppppp\",\"skuMarkStr\":\"00\"}","num": 1,"bbTraffic": "","canvasType": 1,"giftServiceIsSelected": ""}body = json.dumps(body, ensure_ascii=False, separators=(",", ":"))params = {"appid": "pc-item-soa","functionId": "pc_detailpage_wareBusiness","client": "pc","clientVersion": "1.0.0","t": ts,"body": body,##"x-api-eid-token": "jdd03KVN2BG6B6II3WXOWHUT4MPGOGMO3OQ5DZSTIKYF3HTHKBIBGSGGD47T45RYVHOSPZCKPB34ABDGB3YPJSTDLSRLIT4AAAAMR4V6C5XIAAAAACRGQDDWZH5LYI4X","x-api-eid-token": "jdd03TBT6WE4WMF4PHCAWA4ARALVIPT5OMQ4BQRGPDAYOB2FRF4ZFI7PNNNYGOIDXKB4SG6RDGIOP7TPKAXVQ3DQUEP25G4AAAAMSWKE3LNQAAAAACLVFJYDTNARXWQX","loginType": "3","scval": sku,"uuid": "181111935.1726113890136215874918.1726113890.1726113890.1726129121.2"}h5st = js.call("get_H5st", body, ts, params["appid"], params["functionId"], api_appid, fp, algo, tk, rd)params["h5st"] = h5stlogger.debug(f" H5st 结果:{h5st}")response = requests.get(url, headers=headers, cookies=cookie, params=params)##response = requests.get(url, headers=headers,  params=params)print(response.status_code)logger.debug(response)logger.debug(response.text)# logger.info(response.json()["price"])load_cookie()
if __name__ == "__main__":##js = execjs.compile(open("./jd_h5st_encrypt.js", "r", encoding="utf-8").read())skus = ['100055840709', '100021136758', '100032586491', '34533031087', '100058167024', '100082186087','100077587929', '100036474892', '10056013758919', '100014805124', '100009497210', '10100720343444','10079373721437', '58579400328', '10029555779444', '100043167344', '100020760933', '100113532463','10047345306664', '100042256962', '100007157415', '100006529843', '10052077917985', '100060150951','10053628602097', '1584883842', '10067842667839', '10026365639431', '10099221533185', '100052602673','10053628602097', '10085996671578', '10048614350496', '10084090773366', '569091', '100008631319','10087691476163', '100012886904', '10026365639431', '100014805100', '100062571977', '100123529044']for i, sku in enumerate(skus):logger.info(f'第============================={i}次==============================')get_price(sku)time.sleep(30)

二、效果

相关文章:

python最新h5st4.9.1调用源码(2025-10-25)

废话不多说,直接上源码,需要技术支持的私。 一、调用js方法: # -*- coding: utf-8 -*- """ -------------------------------------------------Author: byc6352File: jdh5st.pyTime: 2024/10/25 08:03Technical Support:by…...

微软投资比特币:将总资产1%投资于BTC?股东投票决定最终结果!

随着比特币及其他加密货币在全球金融市场中的影响力不断增加,科技巨头微软(Microsoft)也开始考虑是否在其资产负债表上纳入比特币。根据近期提交给美国证券交易委员会(SEC)的文件,微软将在2024年12月10日举…...

vue中标签的ref和id的用法和区别优缺点

Vue 3 中 ref 和 id 的用法详解:区别、优缺点及使用场景 在 Vue 3 开发中,我们经常需要获取 DOM 元素或组件实例来进行交互。Vue 提供了 ref 和原生 HTML 属性 id 来实现这种操作。虽然 ref 和 id 都能标识并操作元素,但它们的使用方式、优缺…...

Python基础知识-文件篇

Python 的文件操作是指与文件进行交互的各种技术和方法,包括读取、写入、关闭文件等。以下是对 Python 文件操作的详细介绍: 打开文件 要进行文件操作,首先需要打开文件。Python 提供了内置的 open() 函数。 file open(example.txt, r) …...

MacOS 环境下 VSCode 的 C++ 环境搭建

MacOS 环境下 VSCode 的 C 环境搭建 编译器安装 编译器可以选择 Clang 或者 GCC,在 MacOS 上 Clang 的安装更为简单一些。 Clang(推荐) 打开终端输入命令, clang -v 查看是否已经安装。 如果已经安装,会输出类似于如下的信息&#xff1…...

WPF样式

WPF(Windows Presentation Foundation)是微软推出的一种用于构建Windows应用程序的UI框架。它提供了一套丰富的控件、图形和动画功能,允许开发者创建具有丰富视觉效果的现代用户界面。WPF中的样式(Styles)是一种强大的…...

Vue Router 如何配置 404 页面?

在 Vue 项目中,如果你想配置一个 404 页面(即找不到页面提示),你需要通过 Vue Router 来设置。这通常通过将路由配置中的 *(通配符)指向一个 404 组件来实现。 // 定义路由部分 const routes [{path: /,c…...

【C++:智能指针】

什么是内存泄漏 内存泄漏是指因为疏忽或者错误造成程序对一部分不再使用的内存没有进行释放的情况,内存释放不是指内存在物理上的消失,而是应用程序分配某段内存时,因设计错误,失去了对该内存的控制,从而造成内存浪费 …...

onlyoffice docker启用jwt并生成jwt

一、说明 本文是docker教程,linux/win的安装版本也类似,只需要修改配置文件中的secrt就可以了【Configuring JWT for ONLYOFFICE Docs - ONLYOFFICE】 二、正文开始 docker启动时候如果不想使用jwt,加上参数-e JWT_ENABLEDfalse就可以了&…...

希尔贝壳受邀参加首届“数据标注产业大会暨供需对接会”

为推动数据标注产业高质量发展,促进数据标注基地快速形成面向产业的规模化服务能力。10月22日,由国家数据局数字科技和基础设施建设司指导的首届“数据标注产业大会暨供需对接会”在北京召开,希尔贝壳受邀参加。 大会旨在进一步推动数据标注…...

35.第二阶段x86游戏实战2-C++遍历技能

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…...

Jenkins发布vue项目,版本不一致导致build错误

问题一 yarn.lock文件的存在导致在自动化的时候,频频失败问题二 仓库下载的资源与项目资源版本不一致 本地跑好久的一个项目,现在需要部署在Jenkins上面进行自动化打包部署;想着部署后今后可以省下好多时间,遂兴高采烈地去部署&am…...

vue3使用webSocket

1.安装插件 npm i vueuse/core10.11.12.引入使用 import { useWebSocket } from "vueuse/core"const { send, open, close: wsClose, status } useWebSocket(ws://192.168.100.90:53021/inms-application/alarm, {onMessage: (ws, { data }) > {console.log(&q…...

957种卫星参数文档的分享下载

自1957年10月4日苏联发射第一颗人造卫星Sputnik-1至今已经有67年,如今卫星已经在气象、遥感和通讯等领域为我们提供服务。 现在为你分享957种卫星参数,需要Excel文档请在文未查看领取下载方式。 卫星介绍 卫星是由人类制造并发射到太空,围…...

负载均衡详解:背景、实现技术、作用范围与常用算法

负载均衡(Load Balancing)是一种通过将请求分配到多个服务器上,从而优化资源使用、提高响应速度并增强系统可靠性的一种技术手段。它是现代分布式系统和互联网应用中不可或缺的一部分。在本篇文章中,我们将深入探讨负载均衡的方方…...

CCAA:产品认证基础3(产品认证方案)

学习要点 *产品认证方案和认证制度 *产品认证方案的基本要素、功能和活动 *产品认证方案的类型 *产品认证方案的制订和实施 *质量管理体系在产品认证方案中的应用 *典型产品认证方案的应用 第一节 产品认证方案和产品认证制度 一、概念 认证制度是指实施认证的规则、程序和…...

go语言中的Scan()和Scanln()输入函数

Scan()输入函数 package mainimport "fmt"func main() {var a intvar b stringfor {fmt.Println("请输入一个整数和一个字符串(用空格分隔):")fmt.Scan(&a, &b) // 直接读取输入到变量中fmt.Println("整数…...

UML外卖系统报告(包含具体需求分析)

1 系统背景 随着互联网技术的快速发展,外卖订餐服务逐渐成为人们生活中的一部分。传统的电话订餐方式面临诸多不便和限制,而基于互联网的外卖订餐系统则提供了更加便捷、快速和高效的订餐服务。这种系统通过将餐厅、顾客和配送人员连接起来,…...

net Core Data Protection 数据保护 加密 编码 哈希 FromServices

》》》 通过构造函数 获取服务 [Route("api/[controller]")][ApiController]public class DataProtectController : ControllerBase{[HttpGet]public string Info(){return "zen";}// [FromServices] 自动获取 builder.Services.AddDataProtection()注…...

4K手机壁纸之动漫系列

因为平台限制了图片大小,大家将就看吧,原图找me...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...

MySQL 主从同步异常处理

阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示&#xff…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞,需构建多层防御体系,结合技术验证、存储隔离与权限控制: 🔒 一、基础防护层 前端校验(仅辅助) 通过JavaScript限制文件后缀名(白名单)和大小,提…...