【爬虫逆向案例】某名片网站 js 逆向 —— data解密

news2024/10/9 10:28:49

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

【爬虫逆向案例】某名片网站js逆向—— data解密

  • 1、前言
  • 2、步骤
  • 3、号外

1、前言

相信各位小伙伴在写爬虫的时候经常会遇到这样的情况抓取动态数据的时候 data 是一串加密数据,如下图所示:

在这里插入图片描述
接下来我们尝试解决一下这样的情况,本期咱们采集的是某名片网站

2、步骤

我们可以看到数据的存储格式都是字符,那我们先全局搜索 encrypt_data

在这里插入图片描述

进入到搜索出来的 js 文件中以后,再次全局搜索(注意:这里有一个小技巧,遇到这种data加密的数据,就全局搜索 JSON.parse ,省去我们慢慢调试 js 的时间,搜索以后会找到对应加密的函数

在这里插入图片描述

打上断点刷新页面或者切换网页中的下一页即可,断点断住以后我们可以发现 e 就是我们想要的东西

在这里插入图片描述
在这里插入图片描述
接下来,先将 这个function s(e)主函数复制出来,并且进行一些小的改写 因为 a.a 是可以不需要的

在这里插入图片描述

接下来 看里面return的函数结构,发现 a.a.decode 就是对e进行加密的函数,然后最外层就是o函数对整个进行处理,那么我们先选中 a.a.decode 进入这个函数的结构

在这里插入图片描述
在这里插入图片描述
那么我们需要将这个 function(t) 整个复制出来,复制到我们的 Pycharm 里面,并补充完整

在这里插入图片描述
接下来,我们就是需要将最外层的 o 函数找到,并且复制出来,和查找 decode 的方法一样

在这里插入图片描述
在这里插入图片描述
还是一样复制过来,怕复制错的话,可以把该 js 文件下载到本地,用 Pycharm 打开格式化一下,把需要的函数复制出来就行了。

在这里插入图片描述
到这个时候,我们的 js 文件大概是这样的,如下图所示:

在这里插入图片描述
我们可以先拿个数据测试一下,尝试运行一次,我们会发现报错了,

在这里插入图片描述
由图可见,var e = (t = String(t).replace(f, "")).length; 中使用的 f 未定义,我们返回 decode 的 js 文件中找找,肯定在那里面。

往上翻看看,f 立马就出来了

在这里插入图片描述
写入 f 后重新运行一遍,好家伙,又报错了,如下图所示:

在这里插入图片描述
这次是 l 没有找到,刚才咱们回去 js 找 f 的上边刚好就是 l ,刚好复制下去,重新运行一下,这数据不就出来了

在这里插入图片描述
后续有需求可以自己封装一下,请求回来数据解析入库。

3、号外

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!
【👇🏻👇🏻👇🏻关注我| 获取更多源码 | 定制源码】大学生毕设模板、期末大作业模板 、Echarts大数据可视化等! 「一起探讨 ,互相学习」!(vx:python812146)
以上内容技术相关问题😈欢迎一起交流学习👇🏻👇🏻👇🏻🔥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/790828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费的音频转换器带你突破音频格式束缚

曾经有一个名叫吴欢的音乐爱好者,他热爱收集各种音频文件,从经典的老歌到新潮的流行曲,样样都不放过。然而,他遇到了一个令人头疼的问题:因为音频格式的不同,他无法将一些珍贵的音乐记录转化为文字形式。他…

[ELK使用篇]:SpringCloud整合ELK服务

文章目录 一:前置准备-(参考之前博客):1.1:准备Elasticsearch和Kibana环境:1.1.1:地址:[https://blog.csdn.net/Abraxs/article/details/128517777](https://blog.csdn.net/Abraxs/article/details/1285177…

Python 教程:面向对象详解

目录: 面向对象 面向对象技术简介 类定义 类对象 self 代表类的实列,而非类 类的方法 继承 多继承 方法重写 类属性与方法 类的私有属性 类的方法 类的私有方法 运算符重载 概要 Python从设计之初就已经是一门面向对象的语言,正因…

小米手机开启智能设备的OTA升级方法

支持的手机列表 手机 市场名称 版本 1 L18-SD8475 小米MIX FOLD 2 / 2 L1-SD8475 小米MIX5 Pro / 3 L2-SD8450 小米12 Pro 13.0.30|稳定版 4 L2S-SD8475 小米12S Pro / 5 L3-SD8450 小米12 6 L3A-SD8250AC 小米12X 13.22.4.7|开发版 7 K8-SD8350A…

C语言float类型学习

C语言的小数类型有两种&#xff0c;float和double&#xff1b; float 称为单精度浮点型&#xff0c;double 称为双精度浮点型&#xff1b; float 占用4个字节&#xff0c;double 占用8个字节&#xff1b; 下面看一下float&#xff1b; #include <stdio.h>int main() {…

深入学习Arduino_JSON库

忘记过去&#xff0c;超越自己 ❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-07-26 ❤️❤️ 本篇更新记录 2023-07-26 ❤️&#x1f389; 欢迎关注 &#x1f50e;点赞 &#x1f44d;收藏 ⭐️留言&#x1f4dd;&#x1f64…

闲置宽带的用处你知道吗

随着我们生活水平的提高以及国家对信息化建设的推动&#xff0c;大部分家庭的宽带已经进入了高速时代&#xff0c;100-200M到处可见&#xff0c;甚至于500M也不是什么新鲜事儿了&#xff0c;宽带的速率是提高了&#xff0c;不过问题也来了&#xff0c;你家的宽带是否物尽所用&a…

干货分享 | TSMaster图形模块功能详解(一)—— 以CAN信号为例

“ 本文目录&#xff1a; 1、信号的导入与删除 1.1 CAN信号的导入 1.2 添加系统变量 1.3 自定义信号 1.4 信号的删除 1.5 清除信号数据 2、图形分栏 2.1 添加分栏 2.2 平均分配分栏高度 2.3 分栏上移与下移 2.4 删除分栏 3、暂停与启动和禁止图形 4、高亮信号相关操…

uview中的常用的框

第一步&#xff1a; 先下载 uview UI 框架 详见 项目 引入 uView_vue引入uview_qq_2524963996的博客-CSDN博客【代码】 项目 引入 uView。_vue引入uviewhttps://blog.csdn.net/qq_44161703/article/details/131168976?spm1001.2014.3001.5501 第二步&#xff1a; 可以直接…

mongodb mongoose 数据库增删改查基本操作

mongodb 5.0.19 下载 下载地址 安装到 C:\Program Files c盘新建 C:\data\db 找到 bin 目录(C:\Program Files\mongodb-windows-x86_64-5.0.19\mongodb-win32-x86_64-windows-5.0.19\bin) 打开cmd 输入 mongod 命令 启动数据库 再打开一个 cmd 窗口执行 mongo 命令&am…

5分钟搞懂池化的本质

大家好啊&#xff0c;我是董董灿&#xff01; 在很多与计算机视觉相关的神经网络中&#xff0c;我们往往都会看到池化这一算法&#xff0c;它一般跟在卷积层后面。 神经网络中用到最多的池化方式无外乎是最大池化和平均池化。两者运算接近&#xff0c;区别在于是在kernel范围…

Labelme制作COCO格式的图像语义分割数据集

1.按照labelme工具地址先配置安装labelme&#xff1a;GitHub - wkentaro/labelme: Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation). 2.给自己的数据集画多边形框-Create Polygons 每张图像画完框后&#…

基于GPT4模型编写基于flask和mysql的web网站教程

目录 一、基于GPT4网络模型编写网站代码编写 三.效果1 首页2 登陆&#xff1a;3 注册4 数据库 项目地址 &#xff1a;https://download.csdn.net/download/u014541881/88098143 一、基于GPT4网络模型编写网站 代码编写 我&#xff1a;请你帮我用flask写一个网站&#xff0c;…

Qt编程基础 | 第八章-QtDesigner | 8.2、布局管理器

一、布局管理器 使用Qt Designder进行控件布局时&#xff0c;经常会使用到布局管理器&#xff0c;下面介绍常用的属性 1、layoutStretch 设置控件的伸缩因子&#xff0c;如果这个值是0&#xff0c;将采用控件的大小将采用自身的sizePolicy。下面是一个具体的实例&#xff0c;界…

【雕爷学编程】Arduino动手做(87)---ULN2003步进电机模组3

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

百模大战:AI大模型的现状与发展

马斯克&#xff08;Elon Musk&#xff09;是一位著名的企业家和科技创新者&#xff0c;他是特斯拉汽车公司的创始人和首席执行官&#xff0c;也是SpaceX航天公司和SolarCity太阳能公司的创始人之一。他还参与了创办OpenAI人工智能研究实验室和Neuralink脑机接口公司。 马斯克以…

任务的创建与删除

Q: 什么是任务&#xff1f; A: 任务可以理解为进程/线程&#xff0c;创建一个任务&#xff0c;就会在内存开辟一个空间。 比如&#xff1a; 玩游戏&#xff0c;打篮球&#xff0c;开车&#xff0c;都可以视为任务。 Windows 系统中的 MarkText 、谷歌浏览器、记事本&#xff0…

基于ChatGPT聊天的零样本信息提取7.25

基于ChatGPT聊天的零样本信息提取 摘要介绍ChatIE用于零样本IE的多轮 QA 实验总结 摘要 零样本信息提取&#xff08;IE&#xff09;旨在从未注释的文本中构建IE系统。由于很少涉及人类干预&#xff0c;因此具有挑战性。 零样本IE减少了数据标记所需的时间和工作量。最近对大型…

TextDetMetric: 计算文本检测算法指标工具

Text Detect Metric 该库用于计算Precision、Recall和H-mean三个指标&#xff0c;用来评测文本检测算法效果。与魔搭-文本检测测试集配套使用。指标计算代码参考&#xff1a;PaddleOCR 和 DB 整体框架 #mermaid-svg-9uGq5YvkFv9Qoswh {font-family:"trebuchet ms",v…

账号列表的删除编辑提交

<template><div><plan title"账号列表"><!-- selection-change"handleSelectionChange"添加这个属性就是点击可以得到你想要的value值 --><el-tablestyle"width: 100%":data"list"selection-change"h…