Python爬虫进阶 | 某监测平台数据加密逆向分析

今天带大家分析一下某建筑市场监管平台的数据加密

链接:

aHR0cDovL2p6c2MubW9odXJkLmdvdi5jbi9kYXRhL2NvbXBhbnk=

点击企业查询, 发现返回的数据是经过加密后的数据

1. 寻找返回的数据

既然数据是通过这个 url 返回的, 全局搜索url

http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15

尝试全局模糊搜索 /query/comp/list

点击进入 js 函数

返回的结果是请求 url /dataservice/query/comp/list得到的, 打上断点 点击搜索 一步一步调式js代码

调试过程就不一步一步分析了, 最终定位到, 感觉像我们想要的数据, 进入Console打印一下 te

t 的打印结果

tdata 是 最初我们请求http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15 所返回的加密后数据

然后接着执行下一步, 你会发现, e 这其中的数据不正是我们想要的数据

2. 分析加密方式

既然我们已经知道了数据的加密方式, 那我们就重点分析一下这个地方

其中t.data我们在第一步已经分出来了 使我们第一步请求 http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15得到的结果

<img src="https://user-gold-cdn.xitu.io/2019/10/20/16de70d83c5d4d7c?w=2874&h=1490&f=png&s=404741"/&gt;

那我们重点分析 m 函数 的处理过程, 点击进入 m 函数, 结果如下

对数据经过层层加密处理后,调用toString方法, 既然加密函数已经找到,我们就可以编写代码了

3. 代码实现

我们将函数 m 的代码复制出来, data是加密后返回的数据,我们先复制出来用一下,在这里因为我们使用了 crypto-js,所以我们要先进行安装一下

运行一下项目

报错的原因 , 其中 pf 没有进行初始化 我们寻找一下 p 和 f , 就在函数 m 的上方

我们添加到代码把 p 和 f 添加到代码中

运行项目 进行测试

其中返回的数据 , 正是我们想要的结果

以上就是今天的内容了,本文仅供学习交流使用,如有任何利益问题请联系笔者删除,祝大家学习愉快

原文地址:https://blog.51cto.com/14205748/2474520

时间: 2024-08-30 13:15:30

Python爬虫进阶 | 某监测平台数据加密逆向分析的相关文章

Python爬虫进阶 | 某音字体反爬分析

字体反爬案例 爬取一些网站的信息时,偶尔会碰到这样一种情况:网页浏览显示是正常的,用 python 爬取下来是乱码,F12用开发者模式查看网页源代码也是乱码.这种一般是网站设置了字体反爬. 1. 准备url 网址: https://www.iesdouyin.com/share/user/88445518961 2. 获取数据 分析字体加密方式 任务:爬取个人信息展示页中的关注.粉丝人数和点赞数据,页面内容如图 下 所示. 在编写代码之前,我们需要确定目标数据的元素定位.定位时,我们在 HTML

Python爬虫进阶一之爬虫框架概述

综述 爬虫入门之后,我们有两条路可以走. 一个是继续深入学习,以及关于设计模式的一些知识,强化Python相关知识,自己动手造轮子,继续为自己的爬虫增加分布式,多线程等功能扩展.另一条路便是学习一些优秀的框架,先把这些框架用熟,可以确保能够应付一些基本的爬虫任务,也就是所谓的解决温饱问题,然后再深入学习它的源码等知识,进一步强化. 就个人而言,前一种方法其实就是自己动手造轮子,前人其实已经有了一些比较好的框架,可以直接拿来用,但是为了自己能够研究得更加深入和对爬虫有更全面的了解,自己动手去多做.

Python爬虫进阶二之PySpider框架安装配置

关于 首先,在此附上项目的地址,以及官方文档 PySpider 官方文档 安装 1. pip 首先确保你已经安装了pip,若没有安装,请参照 pip安装 2. phantomjs PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速.原生支持各种Web标准:DOM 处理.CSS 选择器.JSON.Canvas 和 SVG. PhantomJS 可以用于页面自动化.网络监测.网页截屏以及无界面测试等. 安装 以上附有官方安

Python爬虫进阶三之Scrapy框架安装配置

初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1.安装Python 安装过程我就不多说啦,我的电

Python爬虫进阶之Scrapy框架安装配置

Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1

Python爬虫进阶五之多线程的用法

前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理. 首先声明一点! 多线程和多进程是不一样的!一个是 thread 库,一个是 multiprocessing 库.而多线程 thread 在 Python 里面被称作鸡肋的存在!而没错!本节介绍的是就是这个库 thread. 不建议你用这个,不过还是介绍下了,如果想看可以看看下面,不想浪费时间直接看 multiprocessing 多进程 鸡肋点 名言: "Pyt

芝麻HTTP:Python爬虫进阶之Scrapy框架安装配置

初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1.安装Python 安装过程我就不多说啦,我的电

Python爬虫进阶(Scrapy框架爬虫)

准备工作:           配置环境问题什么的我昨天已经写了,那么今天直接安装三个库                        首先第一步:                            (我们要用到scrapy框架,在python里调用windows 命令,使用mongodb存储爬到的数据 )                                  进入DOS python/Script>路径下  输入命令: python/Script> pip install p

Python爬虫进阶——urllib模块使用案例【淘宝】

很多时候呢,我们都是读取本地HTML文件来进行爬虫练手,但每次都要手打不同的HTML明显耗时耗力: 还有些小伙伴不喜欢F12,偏偏喜欢在Pycharm中查看HTML的源代码: -- 难道每次都只能"复制--新建--粘贴--保存"一条龙服务吗? 不不不,我们还有Python的第三方库--urllib. urllib模块是模拟浏览器去访问URL地址,然后拿到服务器响应回来的数据,也就是整个HTML文件. 代码如下: import urllib.request as ur # urlopen