全国建筑市场监管公共服务平台数据爬取

http://jzsc.mohurd.gov.cn/data/company击企业查询, 发现返回的数据是经过加密的

全国建筑市场监管公共服务平台数据爬取_第1张图片

1. 寻找返回的数据

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

全国建筑市场监管公共服务平台数据爬取_第2张图片

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

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

全国建筑市场监管公共服务平台数据爬取_第3张图片

点击进入 js 函数

全国建筑市场监管公共服务平台数据爬取_第4张图片

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

全国建筑市场监管公共服务平台数据爬取_第5张图片

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

全国建筑市场监管公共服务平台数据爬取_第6张图片

t

全国建筑市场监管公共服务平台数据爬取_第7张图片

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

e 这其中的数据不正是我们想要的数据

全国建筑市场监管公共服务平台数据爬取_第8张图片

2.分析加密方式

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

全国建筑市场监管公共服务平台数据爬取_第9张图片

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

全国建筑市场监管公共服务平台数据爬取_第10张图片

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

全国建筑市场监管公共服务平台数据爬取_第11张图片

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

3.代码实现

我们将函数 p 的代码复制出来, data是加密后返回的数据,我们先复制出来用一下

全国建筑市场监管公共服务平台数据爬取_第12张图片

运行一下项目

全国建筑市场监管公共服务平台数据爬取_第13张图片

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

全国建筑市场监管公共服务平台数据爬取_第14张图片

我们添加到代码把 u 和 d 添加到代码中

全国建筑市场监管公共服务平台数据爬取_第15张图片

运行项目 进行测试

全国建筑市场监管公共服务平台数据爬取_第16张图片

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

请勿用于非法用途

你可能感兴趣的:(爬虫)