原來發了幾遍文章關於 全國建築市場監管公共服務平臺(四庫一平臺)平臺的網站數據採集和抓取:
建築資質爬蟲抓取-全國建築市場監管公共服務平臺(一)入門篇
建築資質爬蟲抓取-全國建築市場監管公共服務平臺(二)-接口篇
新版建築市場(四庫一平臺)抓取最新信息(爬蟲)
最近發現 建築市場監監管平臺推出了自己的小程序《全國建築市場監管服務平臺》。
在使用過程中,發現沒有前端的輔助驗證碼,和一些訪問的現在,於是就研究如何通過小程序來抓取數據,經過的學習和研究基本完成的數據的採集和抓取,就把整個流程最一點記錄,如果需要相關的技術支持和爬蟲數據可以聯繫我(QQ:397713472 電話:13880334484[微信同號])。
一、使用爬蟲抓包工作抓取小程序訪問鏈接
我喜歡用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=®ionNum=&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這些我就不在該文章中寫了,如果需要可以聯繫我(QQ:397713472 電話:13880334484[微信同號])
下圖就是直接通過java寫的解密截圖。