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

news/2024/7/19 11:17:40 标签: python, javascript, 开发语言, pycharm, 爬虫

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

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

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

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(终端) 输入安装命令

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

python">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)

图片展示





尾语

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

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

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

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


http://www.niftyadmin.cn/n/5147383.html

相关文章

vivado 报错之procedural assignment to a non-register result is not permitted“

文章目录 这个错误通常是由于尝试在非寄存器类型的对象上进行过程赋值所引起的。在 Verilog 中,当使用 always 块时,其中的赋值操作应该只用于寄存器类型的变量,比如 reg 类型。非寄存器类型的信号(比如 wire)不能在 a…

2024年PMI-PBA商业分析认证报考指南(全网最全)

一、什么是商业分析师认证PMI-PBA? PMI-PBA是商业分析专业人士(PMI商业分析师)。PMI-PBA强调在业务分析方面的专业知识能力。突出了分析人员与干系人之间有效工作的能力,从而定义他们的业务需求,确保项目的输出&#x…

携手ChainGPT 人工智能基础设施 波场TRON革新 Web3 版图

近日,波场TRON与 Web3 人工智能基础设施服务商 ChainGPT 正式达成合作。通过本次合作,双方将进一步推动人工智能和区块链技术的融合,在实现优势互补的同时,真正惠及日常生活。 作为一站式的加密AI中心,ChainGPT 的人工智能工具需要进行大量计算,能耗高,而波场TRON采用的创新型…

学习笔记三十四:Ingress和 Ingress Controller概述

Ingress和 Ingress Controller概述 回顾service四层负载在k8s中为什么要做负载均衡Service不足之处四层负载和七层负载的区别OSI七层模型: Ingress介绍Ingress Controller介绍Ingress-controller 作用Ingress和Ingress Controller总结使用Ingress Controller代理k8s…

小米11 安装面具magisk 实现root

为了在安卓上抓包chatgpt 只能root小米11 来安装抓包工具小黄鸟 才能安装根证书来解析https。 1.官方解锁 2.下载小米11 安卓12 的开发版本 venus_images_V13.0.6.1.15.DEV_20220308.0000.00_12.0_cn_cb6b0c891f.tgz 进入刷机fastboot 3.进系统开启usb调试模式,…

C 练习实例2 :企业发放的奖金根据利润提成。

题目:企业发放的奖金根据利润提成。 利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间…

OpenAI最新官方GPT最佳实践指南,一文讲清ChatGPT的Prompt玩法

原文:Sina Visitor System OpenAI的官网发表万字GPT最佳实践指南,讲清Prompt提示词的原则和策略,这里是总结和全文翻译 原创图像,AI辅助生成 OpenAI的官网上刚刚发表一篇万字的GPT最佳实践指南,这份指南把写好Promp…

PaLM API 使用 OAuth 进行身份验证

PaLM API 使用 OAuth 进行身份验证 PaLM API 允许您根据自己的数据调整模型。由于它是您的数据和调整的模型,因此需要比 API 密钥更严格的访问控制。 若要运行本快速入门,需要: 一个 Google Cloud 项目。gcloud CLI 的本地安装 设置云项目…