【原创】Python 特来电充电站数据爬虫

本文仅供学习交流使用,如侵立删!
** ## 特来电充电站数据爬虫 ### 操作环境 - win10 、 mac - Python3.9 - requests、Crypto、multiprocessing ### 分析 需求1:城市内所有站点列表 aHR0cHM6Ly9zZy50ZWxkLmNuL2FwaS9pbnZva2U/U0lEPUFBUy1BcHAwNDA3X1NlYXJjaFN0YXRpb24= 【原创】Python 特来电充电站数据爬虫_第1张图片 需求2:站点详情信息 aHR0cHM6Ly9zZy50ZWxkLmNuL2FwaS9pbnZva2U/U0lEPUFBUy1BcHAwNDA3X0dldFN0YXRpb25EZXRhaWxz 【原创】Python 特来电充电站数据爬虫_第2张图片 需求3:站点充电桩信息 aHR0cHM6Ly9zZy50ZWxkLmNuL2FwaS9pbnZva2U/U0lEPUJhc2VBcGktQXBwMDMwNF9HZXRUZXJtaW5hbE9mU3RhdGlvbg== 【原创】Python 特来电充电站数据爬虫_第3张图片 总体来说数据接口还是很容易zhua到的,关键点是有两个加密参数使用的DES加密: X-token:有效期 15分钟 AVER: 有效期 十秒 特来电使用了360壳,直接脱壳分析拿到key和iv根据时间戳生成即可 ### JS生成AVER `python # 篇幅过长这儿只贴出关键点代码,拿到key和iv后使用工具自动生成还原代码即可 function DES_Encrypt(word) { var srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.DES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } function DES_Decrypt(word) { var srcs = word; var decrypt = CryptoJS.DES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return decrypt.toString(CryptoJS.enc.Utf8); } ` ### python 生成AVER `python def get_AVER(self): """ 根据时间戳生成加密参数AVER """ ats = str(int(time.time())) cipher = DES.new(key.encode(), DES.MODE_CBC, iv.encode()) data = pad(ats.encode('utf8'), 16, style='pkcs7') encryptedbytes = cipher.encrypt(data) res = str(base64.b64encode(encryptedbytes), "utf-8") self.ATS = ats self.AVER = res # print('生成加密参数:AVER') # print(f'时间戳:{self.ATS} 加密后:{self.AVER}') ` 业务逻辑方面的代码就不贴了,根据实际业务写就可以 ## 效果 【原创】Python 特来电充电站数据爬虫_第4张图片 ** ## 资源下载 https://download.csdn.net/download/qq_38154948/85450571 **
本文仅供学习交流使用,如侵立删!
**

你可能感兴趣的:(【原创】Python 特来电充电站数据爬虫)