python爬虫-AES.CBS加密案例(mmz批量爬取)

下载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、找到后即可完成解密操作获取到数据

相关推荐

  1. Python爬虫-批量Manner Coffee全国门店

    2024-03-17 05:04:08       40 阅读
  2. Python-数据爬虫

    2024-03-17 05:04:08       22 阅读
  3. Python-数据爬虫

    2024-03-17 05:04:08       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 05:04:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 05:04:08       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 05:04:08       82 阅读
  4. Python语言-面向对象

    2024-03-17 05:04:08       91 阅读

热门阅读

  1. 安装 docker 和 jenkins

    2024-03-17 05:04:08       34 阅读
  2. 行走的机器人

    2024-03-17 05:04:08       39 阅读
  3. linux 查看日志包含***字符上下200行日志命令

    2024-03-17 05:04:08       44 阅读
  4. wsl-oraclelinux 固定ip

    2024-03-17 05:04:08       47 阅读
  5. 2024计算机二级6

    2024-03-17 05:04:08       43 阅读
  6. Invalid value type for attribute ‘factoryBeanObjectType‘

    2024-03-17 05:04:08       37 阅读
  7. 189: 素数判定(python)

    2024-03-17 05:04:08       39 阅读
  8. 2024.2.20 校招 实习 内推 面经

    2024-03-17 05:04:08       40 阅读
  9. HashMap常用方法

    2024-03-17 05:04:08       45 阅读
  10. C语言自学笔记19----结构体函数

    2024-03-17 05:04:08       41 阅读
  11. 实现快速排序所踩的坑

    2024-03-17 05:04:08       41 阅读
  12. P8706 [蓝桥杯 2020 省 AB1] 解码 Python

    2024-03-17 05:04:08       38 阅读