赞
踩
下载mmz本页数据
批量下载请看主页!!!
代码:
- import requests
- from Crypto.Cipher import AES
- import base64
-
- cookies = {
- 'PHPSESSID': '48nu182kdlsmgfo2g7hl6eufsa',
- 'Hm_lvt_6cd598ca665714ffcd8aca3aafc5e0dc': '1710568549',
- 'SECKEY_ABVK': 'FUnr+pnCS/p1Ou/WiS6a82jLBmKcwlQfvALD/bEpSYS0EV42eXkFNYpCmcekNiiKvyrlcEHfDw6QLw7GSqcv/w%3D%3D',
- 'Hm_lpvt_6cd598ca665714ffcd8aca3aafc5e0dc': '1710568575',
- 'BMAP_SECKEY': 'FUnr-pnCS_p1Ou_WiS6a82jLBmKcwlQfvALD_bEpSYRjgInAaoK-vELl57QFAxX-y1kv64ZfrWIegR6xAqZk5YPrHMNgpor4__VOFQ2YBt9ZLJyD0Ru3kQ8TLNDX9tgT2rE6la_DNO7NooPoKY8lg-7nkrw7RqULcxikq6qpjt72ToZ7LhtjeWs5kU5TcRy2ruVzAKFKBpjmyUlPmKeBwJM_HQkgSUF_-wJjonbLE8U',
- }
-
- headers = {
- 'Accept': '*/*',
- 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
- 'Connection': 'keep-alive',
- 'Content-Type': 'application/json; charset=UTF-8',
- # 'Cookie': 'PHPSESSID=48nu182kdlsmgfo2g7hl6eufsa; Hm_lvt_6cd598ca665714ffcd8aca3aafc5e0dc=1710568549; SECKEY_ABVK=FUnr+pnCS/p1Ou/WiS6a82jLBmKcwlQfvALD/bEpSYS0EV42eXkFNYpCmcekNiiKvyrlcEHfDw6QLw7GSqcv/w%3D%3D; Hm_lpvt_6cd598ca665714ffcd8aca3aafc5e0dc=1710568575; BMAP_SECKEY=FUnr-pnCS_p1Ou_WiS6a82jLBmKcwlQfvALD_bEpSYRjgInAaoK-vELl57QFAxX-y1kv64ZfrWIegR6xAqZk5YPrHMNgpor4__VOFQ2YBt9ZLJyD0Ru3kQ8TLNDX9tgT2rE6la_DNO7NooPoKY8lg-7nkrw7RqULcxikq6qpjt72ToZ7LhtjeWs5kU5TcRy2ruVzAKFKBpjmyUlPmKeBwJM_HQkgSUF_-wJjonbLE8U',
- 'Origin': 'https://www.maomaozu.com',
- 'Referer': 'https://www.maomaozu.com/',
- 'Sec-Fetch-Dest': 'empty',
- 'Sec-Fetch-Mode': 'cors',
- 'Sec-Fetch-Site': 'same-origin',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0',
- 'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Microsoft Edge";v="122"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"',
- }
-
- # 参数加密
- data = 'i1gpLEJyKvluv3sQVGr/h24MVjun9ZmA85MeQbGkMN/IIv+h8/9XooiKQN3pMc7C'
-
- response = requests.post('https://www.maomaozu.com/index/build.json', cookies=cookies, headers=headers, data=data)
- res = response.text
- # print(response.text)
-
- # 解密 b64
- # print(base64.b64decode(res))
- b64decode = base64.b64decode(res)
-
- # 解析mmz网站js拿到kv,服务器向浏览器传送数据的解密kv
- key = '0a1fea31626b3b55'.encode()
- vi = key
- cry = AES.new(key, AES.MODE_CBC, vi)
-
- # print(cry.decrypt(b64decode).decode())
- mmz_text = cry.decrypt(b64decode).decode()
- print(mmz_text)
代码思维流程:
1、按照基础爬虫的思路,拿到目标网址进行模仿请求服务器并拿到数据
2、找到对应网页链接时,负载(请求)、响应都做了加密处理
3、先对响应的加密数据做解密处理,就可以获取到本页的数据
1)浏览器和服务器之前的传输是通过一系列的js代码进行的所以要在源码中找到解密的kv
2)搜索方法:搜索key、搜索路径、搜索"方法(函数)"、拦截器
3)使用搜索"方法(函数)"
4)在搜索到的位置上打断点,再刷新浏览器看停在那个位置
5)逐步分析,找到解密的方法即可找到key和iv
4、找到后即可完成解密操作获取到数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。