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

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

 

关卡

spa2

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

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

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

搜索token:看js代码在哪里

点进去,打上断点调试看看

e = Object(i["a"])(this.$store.state.url.index, a) 

分析这段代码:

这行代码中,Object(i["a"]) 是一个函数调用,它接受两个参数 this.$store.state.url.index 和 a,然后将它们传递给函数 i["a"],并将结果赋值给变量 e。

根据代码的语境,可以推测这行代码的作用是使用 this.$store.state.url.index 和 a 作为参数调用了对象 i 的方法 a,并将结果赋值给了变量 e

加密位置就这里扣下来

完整代码

js

 const n = require('crypto-js');function i() {for (var t = Math.round((new Date).getTime() / 1e3).toString(), e = arguments.length, r = new Array(e), i = 0; i < e; i++)r[i] = arguments[i];r.push(t);var o = n.SHA1(r.join(",")).toString(n.enc.Hex), c = n.enc.Base64.stringify(n.enc.Utf8.parse([o, t].join(",")));return c}

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('6.js','r',encoding='utf-8').read()).call('i','/api/movie',offset)params = {'limit': '10','offset':offset ,'token': js_da,}response = requests.get('https://spa2.scrape.center/api/movie/', params=params, headers=headers)print(response.json())

运行结果

结束 

http://www.xdnf.cn/news/8919.html

相关文章:

  • 【WEB3】区块链、隐私计算、AI和Web3.0——可信数字身份体系构建(3)
  • Science Robotics 具身智能驱动的空中物理交互新范式:结合形态和传感,与非结构化环境进行稳健交互
  • 2025.05.22-得物春招机考真题解析-第二题
  • 【算法深练】双序列双指针:用“双轨并行”思维,高效破解算法难题
  • RabbitMQ 集群与高可用方案设计(三)
  • 基于多模态提示融合的交互式图像标注系统设计与实现
  • Java 访问者模式深度重构:从静态类型到动态行为的响应式设计实践
  • FastDFS集群部署与性能优化实战
  • 【后端高阶面经:MongoDB篇】41、MongoDB 是怎么做到高可用的?
  • 【自然语言处理与大模型】大模型Agent四大的组件
  • AI时代新词-大模型(Large Language Model)
  • 网络编程——UDP网络编程
  • flash_attn 安装慢的解决方法
  • 《软件工程》第 14 章 - 持续集成
  • 软考 系统架构设计师系列知识点之杂项集萃(75)
  • 【自然语言处理与大模型】大模型(LLM)基础知识⑤
  • 绘制线、多边形方法,添加绘制点数字信息和线/面等宽度延伸
  • Nginx 限流机制:请求速率与连接数限制深度解析(一)
  • 《三维点如何映射到图像像素?——相机投影模型详解》
  • 保姆式 网站建设wordpress全教程----包含疑难杂症
  • 可视化图解算法45:比较版本号
  • GraphPad Prism数据的基本操作
  • Kafka 客户端连接机制的一个典型陷阱
  • Tomcat 使用与配置全解
  • Python入门手册:循环
  • RabbitMQ 核心原理与Spring Boot整合实战
  • 青少年编程与数学 02-020 C#程序设计基础 05课题、数据类型
  • hadoop异构存储
  • 【前端基础】事件循环 详解
  • 小样本机器学习再发力!2025再登Nature正刊