爬虫 全国建筑市场监管服务平台(四库一平台) 小程序数据抓取

本文主要是介绍爬虫 全国建筑市场监管服务平台(四库一平台) 小程序数据抓取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原来发了几遍文章关于 全国建筑市场监管公共服务平台(四库一平台)平台的网站数据采集和抓取:

建筑资质爬虫抓取-全国建筑市场监管公共服务平台(一)入门篇

建筑资质爬虫抓取-全国建筑市场监管公共服务平台(二)-接口篇

新版建筑市场(四库一平台)抓取最新信息(爬虫)

最近发现 建筑市场监监管平台推出了自己的小程序《全国建筑市场监管服务平台》。

    在使用过程中,发现没有前端的辅助验证码,和一些访问的现在,于是就研究如何通过小程序来抓取数据,经过的学习和研究基本完成的数据的采集和抓取,就把整个流程最一点记录,如果需要相关的技术支持和爬虫数据可以联系我。

一、使用爬虫抓包工作抓取小程序访问链接

    我喜欢用Fiddler抓包工具,我这里就不详细说怎么配置和安装,这个网上的教程很多;安装和配置好了,我们访问小程序,在Fiddler上面就看到相关的访问链接:

然后通过分析小程序的接口就两个

https://sky.mohurd.gov.cn/skyapi/api/statis/getExtResult
https://sky.mohurd.gov.cn/skyapi/api/statis/getResult

都是通过改变参数keys的方式来实现相关业务,这里就不多少,通过接口很轻松的分析相关的功能。

二、接口认证token和IP限制

    首先我们打开一个接口的请求头:

GET https://sky.mohurd.gov.cn/skyapi/api/statis/getResult?_t=0.33565467680946304&keys=corp%2Fdata_search%2Fpage&qyTypeCode=&regionNum=&pageNumber=1&pageSize=15&keyWord= HTTP/1.1
Host: sky.mohurd.gov.cn
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat
cityCode: 
content-type: application/json
token: t_b161960b732146379d4b8fc53196c50f
Referer: https://servicewechat.com/wx8f070e7958a940d1/11/page-frame.html
Accept-Encoding: gzip, deflate, br

    虽然小程序接口现在不多但是还是做了一点认证也爬虫现在,首先是token,这里的token比较简单,就可以直接用抓取的作为token。当一定的访问,后端也会封Ip,最开始的是好是几分钟会解封,但是现在不会,使用尽量用IP代理。

三、数据AES加密解密

当我们参看返回的数据的时候数据是这样的:

{"data":"A3ReBKoR6IDZSR4Jdxq72fXPsnWTZMhOr5sXl/lJ8/3GWFmsy2fTHG/0+Uz8fZmopZ0Ru0cskOWNX8hWlUy19scqauL28x3daP9IQn2……",
"message":null,
"status":1}

这里data的数据就是做了加密的,使用我们通过数据解密后的:

[{"data":{"asc":true,"current":1,"limit":15,"offset":0,"offsetCurrent":0,"openSort":true,"optimizeCount":false,"pages":14,
"records":[{"legalMan":"张东","address":"重庆市渝北区龙溪街道金山路18号中渝.都会首站4幢9-10","regionFullname":"重庆市",
"corpName":"重庆惠风机电设备有限公司","id":"001903140034193455","corpCode":"91500112054824582M"}],
"searchCount":true,"size":15,"total":200}}]

    由于涉及到相关的解密key这些我就不在该文章中写了,如果需要可以联系我。

下图就是直接通过java写的解密截图。

这篇关于爬虫 全国建筑市场监管服务平台(四库一平台) 小程序数据抓取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/369835

相关文章

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创