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

爬虫学习-Scrape Center spa6 超简单 JS 逆向

关卡

spa6

电影数据网站,无反爬,数据通过 Ajax 加载,数据接口参数加密且有时间限制,适合动态页面渲染爬取或 JavaScript 逆向分析。

首先抓包发现get请求的参数token有加密。 offset表示翻页,limit表示每一页有多少条数据。

抓到加密 Token 之后,就要找出 Token 值是怎么生成的,

搜索token:看js代码在哪里,点进看看

打断点调试

可以看Object(_0x2fa7bd['a'])是个函数这里就是加密函数点进去看看

在打断点调试看看,这里混淆了,看不懂就去解混淆,把代码扣下来

js

const  CryptoJS=require('crypto-js');function _0x456254() {for (var _0x5da681 = Math['round'](new Date()['getTime']() / 1000)['toString'](), _0x2a83dd = arguments['length'], _0x31a891 = new Array(_0x2a83dd), _0x596a02 = 0; _0x596a02 < _0x2a83dd; _0x596a02++) {_0x31a891[_0x596a02] = arguments[_0x596a02];}_0x31a891 =['/api/movie'];_0x31a891['push'](_0x5da681);var _0xf7c3c7 = CryptoJS['SHA1'](_0x31a891['join'](','))['toString'](CryptoJS['enc']['Hex']),_0x3c8435 = [_0xf7c3c7, _0x5da681]['join'](','),// _0x104b5b = _0x358b1f['encode'](_0x3c8435);base64Encoded = CryptoJS.enc.Utf8.parse(_0x3c8435).toString(CryptoJS.enc.Base64);return base64Encoded;
}console.log(_0x456254())

python 

import requests
import execjs
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',}for offset in range(0,100,10):js_da=execjs.compile(open('5.js','r',encoding='utf-8').read()).call('_0x456254')print(js_da)params = {'limit': '10','offset':offset ,'token': js_da,}response = requests.get('https://spa6.scrape.center/api/movie/', params=params, headers=headers)print(response.text)

运行结果

结束

http://www.lryc.cn/news/2392793.html

相关文章:

  • 对数的运算困惑
  • C++ 图像处理库 CxImage 简介 (迁移至OpenCV)
  • linux系统与shell 笔记
  • 尚硅谷redis7 86 redis集群分片之3主3从集群搭建
  • Kaggle-Predict Calorie Expenditure-(回归+xgb+cat+lgb+模型融合+预测结果)
  • 【解决办法】Git报错error: src refspec main does not match any.
  • React与Vue的内置指令对比
  • 2025年5月24号高项综合知识真题以及答案解析(第1批次)
  • 【NATURE氮化镓】GaN超晶格多沟道场效应晶体管的“闩锁效应”
  • Ubuntu24.04换源方法(新版源更换方式,包含Arm64)
  • 26 C 语言函数深度解析:定义与调用、返回值要点、参数机制(值传递)、原型声明、文档注释
  • 彻底理解一个知识点的具体步骤
  • FFmpeg 时间戳回绕处理:保障流媒体时间连续性的核心机制
  • yolov8改进模型
  • PostgreSQL日常运维
  • << C程序设计语言第2版 >> 练习 1-23 删除C语言程序中所有的注释语句
  • Fluence (FLT) 2026愿景:RWA代币化加速布局AI算力市场
  • 如何撰写一篇优质 Python 相关的技术文档 进阶指南
  • 选择if day5
  • MiniMax V-Triune让强化学习(RL)既擅长推理也精通视觉感知
  • Hash 的工程优势: port range 匹配
  • 同为.net/C#的跨平台运行时的mono和.net Core有什么区别?
  • 前端安全直传MinIO方案
  • HackMyVM-Dejavu
  • LeetCode Hot100(动态规划)
  • Opencv实用操作5 图像腐蚀膨胀
  • 【赵渝强老师】OceanBase的部署架构
  • (18)混合云架构部署
  • c/c++的opencv霍夫变换
  • AAOS系列之(七) --- AudioRecord录音逻辑分析(一)