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

爬虫案例十js逆向合肥滨湖会展中心网

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、网站分析
  • 二、代码
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

爬虫案例十js逆向合肥滨湖会展中心网


提示:以下是本篇文章正文内容,下面案例可供参考

一、网站分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、代码

python代码

"""
网站:https://www.hfhuizhan.com/schedule#
目标:
"""

import requests
import execjs
import json
url = "https://www.hfhuizhan.com/prod-api/hfhz-exhibition/back/exhibition/listExhibitionNotPage"

headers = {
	"":""#自行添加头
}

form_data = {
    "yyyyMM": "2025-03"
}
j_fdata = json.dumps(form_data,separators=(',', ':'))
# print(j_fdata) # {"yyyyMM":"2025-03"}

f = open('hf.js',mode='r',encoding='utf-8')
js_code = f.read()
js = execjs.compile(js_code)
f_data = js.call("sr",j_fdata) # sY9u74F/amMJPfWSxqBnSCFIWBTU0OYMY3zydpKvpto=

form_data = {
    "data": f_data
}

resp = requests.post(url,headers=headers,data=json.dumps(form_data,separators=(',', ':')))
print(resp.text)
data = js.call("mr",resp.text)
print(data)
# {"code":200,"data":[{"status":0,"createdTime":"2024-10-18 09:15:17","updatedTime":"2025-02-06 11:19:26","createdBy":null,"createdName":null,"updatedBy":null,"updatedName":null,"id":"1847083998959865858","name":"2025年亚太橡塑展合肥站","title":null,"organizer":"安徽金诺国际会展服务有限公司","measure":10000.00,"undertaker":"安徽金诺国际会展服务有限公司","ip":null,"holdingForm":"1",

扣的js代码

var CryptoJS = require("crypto-js");
var jt = {};
jt.a = CryptoJS;

var Zt = "$shanghaidianqi$";
var Vt = "2023050814260000";
var sr = function(Xe) {
    var ot = jt.a.enc.Utf8.parse(Zt)
      , Kt = jt.a.enc.Utf8.parse(Vt)
      , kt = jt.a.AES.encrypt(Xe, ot, {
        iv: Kt,
        mode: jt.a.mode.CBC,
        padding: jt.a.pad.Pkcs7
    });
    return kt.toString()
}
var mr = function(Xe) {
    var ot = jt.a.enc.Utf8.parse(Zt)
      , Kt = jt.a.enc.Utf8.parse(Vt)
      , kt = jt.a.AES.decrypt(Xe, ot, {
        iv: Kt,
        mode: jt.a.mode.CBC,
        padding: jt.a.pad.Pkcs7
    })
      , yr = kt.toString(jt.a.enc.Utf8);
    return yr.toString()
}


总结

for (; ; )
    switch (Jt.prev = Jt.next) { 这是一个异步框架的特征..此处不要再单步调试了.
对每个case打上断点,在case里面可以单步调试
Jt.prev代表上一个case 来源
Jt.next代表下一个case 去哪一个case
Jt.sent代表上一个case的结果

相关文章:

  • 从预测到控制:电力RK3568边缘计算机在电网调度中的全面应用
  • 【RAG】RAG 系统的基本搭建流程(ES关键词检索示例)
  • Linux应用:文件属性
  • vtkAppendPolyData vtkMultiBlockDataGroupFilter 区别 合并数据
  • 代码贴--二叉树(链式结构)
  • 如何利用DeepSeek+OCR技术打造一款AI投标工具:自动解析招标文件并生成投标标书的工具?
  • Ubuntu无风扇工控机:解决精密仪器散热难题的利器
  • Python笔记(简单版)
  • SmolVLM2 - 将视频理解带到每个设备
  • 【从零开始学习计算机科学】计算机组成原理(四)指令系统
  • 核函数及其常见类型
  • 视觉图像处理
  • Day05 实例:正向反向连接内外网环境防火墙出入站
  • 【HarmonyOS Next】鸿蒙应用故障处理思路详解
  • Java常用集合与映射的线程安全问题深度解析
  • 【CSS3】筑基篇
  • Google参数逆向 谷歌搜索
  • C++蓝桥杯基础篇(十)
  • tcc编译器教程2 编译lua解释器
  • 如何在内网私有化离线部署AI大模型?有哪些AI模型可以在内网环境私有化离线部署?
  • 上海中心城区首条“定制化低空观光航线”启航,可提前一天提需求
  • 左手免费午餐右手花开岭,邓飞14年公益之路的中国贡献
  • 解锁儿时愿望!潘展乐战胜孙杨,全国冠军赛男子400自夺冠
  • 荣盛发展:新增未支付债务11.05亿元
  • 林诗栋/蒯曼混双取胜,国乒赢得多哈世乒赛开门红
  • 中国情怀:时代记录与家国镜相|澎湃·镜相第三届非虚构写作大赛暨七猫第六届百万奖金现实题材征文大赛征稿启事