Python某网站壁纸图片数据, 实现网站JS逆向解密

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

学了那么久的知识点啦~是时候犒劳犒劳自己了

这不~就给大家带来一波小姐姐壁纸采集!!!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

本次使用环境使用:

  • python 3.8

  • pycharm 2022专业版 >>> 免费使用教程文末名片获取

模块使用/安装:

  • requests --> pip install requests

  • execjs --> pip install PyExecJS

  • json

第三方模块安装:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令

如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:

pip install -i https://pypi.doubanio.com/simple/ requests

相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以加V:python10080(好友验证备注:6 ,否则可能不会通过)

案例基本实现的步骤:

  1. 找数据对应的链接地址

  2. 使用代码发送网络请求

  3. 数据解析技术(提取需要的数据)

  4. 数据保存

代码展示

导入模块

# 导入数据请求模块
import requests
# 导入编译js代码模块
import execjs
# 导入json模块
import json

获取加密数据

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 请求头
headers = {
    'Referer':'https://bz.zzzmh.cn/',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
# 请求链接
url = 'https://api.zzzmh.cn/bz/v3/getData'
for page in range(1, 11):
    # 请求参数
    data = {
        "size":24,
        "current":page,
        "sort":0,
        "category":0,
        "resolution":0,
        "color":0,
        "categoryId":0,"ratio":0
    }
    # 发送请求
    response = requests.post(url=url, json=data, headers=headers)
    # 获取响应json数据
    json_data = response.json()
    # 解析数据, 提取加密数据内容
    result = json_data['result']

通过python代码调用js代码获取明文数据

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
    # 读取js代码文件
    f = open('壁纸.js', 'r', encoding='utf-8').read()
    # 编译js文件内容
    js_code = execjs.compile(f)
    # 调用js代码函数 --> 函数名传入字符串
    data = js_code.call('_0xc7dd1', result)
    # json字符串数据转成json字典数据
    info = json.loads(data)
    # 解析数据, 提取图片ID
    for index in info['list']:
        # 提取图片ID
        img_id = index['i']
        # 图片链接: https://api.zzzmh.cn/bz/v3/getUrl/61ac5e440dac4d97a6624e05044c407421
        t = index['t']
        if t == 2:
            img_url = f'https://api.zzzmh.cn/bz/v3/getUrl/{img_id}21'
        elif t == 1:
            img_url = f'https://api.zzzmh.cn/bz/v3/getUrl/{img_id}11'
        # 获取图片数据内容
        img_content = requests.get(url=img_url, headers=headers).content
        with open(f'img\\{img_id}.jpg', mode='wb') as img:
            img.write(img_content)
        print(img_url)

图片展示





尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值