粉丝福利——二次元图片展示(屏保)

news/2024/11/25 17:01:00/

又到了粉丝福利分享时间啦!今天我们来用Python敲一个屏保程序,用到了API端口相关的知识,您可以翻下我以前的文章,有相关内容。
这个是我同学让我做的,我本不想做,但中午的时间,闲着归闲着,我还能白赚一个人情,何乐而不为?
这个东西做着很简单。
程序的端口是https://www.dmoe.cc/random.php,也是这位谪仙人给的。需要一个参数:return=json。说明文档见:https://www.dmoe.cc/random.php

卷 Data 的文件夹 PATH 列表
卷序列号为 90AF-CB35
D:.
│  图片展示.py
│
└─temp

直接敲程序,还需要一个名为temp的文件夹。
请提前安装requestspygame模块。

首先放出备用程序:

from requests import get
from json import dumps
from random import randint
import pygame
from pygame.locals import * url = 'https://www.dmoe.cc/random.php'
params = {'return':'json'}
response = get(url,params).json()
width,height,img = int(response['width']),int(response['height']),response['imgurl']content = get(img)
number = randint(100000,999999)
with open('temp/%d.jpg' % number,'wb') as f:f.write(content.content)pygame.init()
canvas = pygame.display.set_mode((width,height))
canvas.fill((255,255,255))
pygame.display.set_caption('Show')def handle():for event in pygame.event.get():if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):pygame.quit()exit()background = pygame.image.load('temp/%d.jpg' % number)    
while True:canvas.blit(background,(0,0))handle()pygame.display.update()

Okay,这里就不展示了,就是一个简单的屏保效果,关闭请ESC键。

再放出真实程序:

小歪API,https://api.ixiaowai.cn/api/api.php,直接发get请求即可,可以用Postman/APIfox调试。
在这里插入图片描述

from requests import get
from json import dumps
from random import randint
import pygame
from pygame.locals import * content = get('https://api.ixiaowai.cn/api/api.php')
number = randint(100000,999999)
with open('temp/%d.jpg' % number,'wb') as f:f.write(content.content)pygame.init()
canvas = pygame.display.set_mode((1920,1080))
canvas.fill((255,255,255))
pygame.display.set_caption('Show')def handle():for event in pygame.event.get():if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):pygame.quit()exit()background = pygame.image.load('temp/%d.jpg' % number)    
while True:canvas.blit(background,(0,0))handle()pygame.display.update()

更新:
想要会变化的?这里:

from requests import get
from json import dumps
from random import randint
import pygame
from pygame.locals import * #创建pygame窗口
pygame.init()
canvas = pygame.display.set_mode((1920,1080))
canvas.fill((255,255,255))
pygame.display.set_caption('Show')#事件处理
def handle():for event in pygame.event.get():if event.type == QUIT or (event.type == KEYDOWN and event.key == K_ESCAPE):pygame.quit()exit()while True:#下载图片content = get('https://api.ixiaowai.cn/api/api.php')number = randint(100000,999999)with open('temp/%d.jpg' % number,'wb') as f:f.write(content.content)#装填图片background = pygame.image.load('temp/%d.jpg' % number)  canvas.blit(background,(0,0))#设置窗口handle()pygame.display.update()pygame.time.delay(5000) #秒数是多少,就写几千秒,这是五秒一换

图片下载器:

from requests import get  # get请求方法
from json import dumps  # json序列处理
from random import randint  # 随机数
from os.path import exists  # 检测文件夹是否存在
from os import mkdir  # 创建文件夹# 下载的爬虫
def download(path):url = "https://api.ixiaowai.cn/api/api.php"  # 请求URLcontent = get(url)  # 发送网络请求number = randint(100000, 999999)  # 生成随机数print("保存图片 >>> ./%s/%d.jpg" % (path, number))  # 输出保存信息with open("%s/%d.jpg" % (path, number), "wb") as f:  # 保存图片信息f.write(content.content)# 主函数
def main(path):# 下载for i in range(1, int(input("您需要多少张图片 >>> ")) + 1):download(path)# 保留解释器窗口input("下载完成。")# 保存路径的程序
if __name__ == "__main__":try:  # 包含异常folder = input("您需要将图片保存到哪里(输入相对路径) >>> ")if exists(folder):  # 有这个文件夹就直接保存main(folder)  # 下载else:  # 如果没有这个文件夹mkdir(folder)  # 创建文件夹main(folder)  # 下载except Exception as e:  # 提取异常基类print("ERROR:%s" % e)  # 输出异常

http://www.ppmy.cn/news/259245.html

相关文章

姜敏京壁纸

姜敏京是一位很漂亮的美女,据说是在韩国唱歌的,韩国人来的,长的非常清纯非常可爱。即使年纪已经超过30,但是在韩国超高的化妆技术下,在这套姜敏京壁纸的她看起来还是跟20岁左右的清纯MM一样。听说她没有出道前因为长得…

计算机毕业论文内容参考|基于java的数据处理分析系统的设计与实现

文章目录 导文文章重点前言数据处理分析系统的概念、定义和作用范围内容与目标需求与约束相关技术与方法介绍技术分析技术设计技术实现总结与展望本文总结后续工作展望导文 计算机毕业论文内容参考|基于java的数据处理分析系统的设计与实现 文章重点 前言 建立基于Java的数据…

第六章 总结及作业【编译原理】

第六章 总结及作业【编译原理】 前言推荐第六章 总结及作业6.1 属性文法6.2 基于属性文法的处理方法6.2.1 依赖图6.2.2 树遍历的属性计算方法6.2.3 一遍扫描的处理方法6.2.4 抽象语法树 最后 前言 2023-6-7 10:07:28 留着占位 以下内容源自《【编译原理】》 仅供学习交流使用…

数字图像处理 基于OpenCV的景深融合算法

景深合成是对显微镜头连续变焦时采集的非平面物体的图像序列进行分析,提取序列里每一帧图像中聚焦相对清晰的区域,然后对这些区域按其位置进行聚焦清晰度竞争、图像融合,形成一幅新的各区域都清晰的全景深的图像。 这里算法的前提是图像大小需要一致,算法核心是对于图像进行…

CodeGeeX 2.0版本重大升级:通过聊天对话的方式直接操作代码

CodeGeeX 2.0版本正式上线!从命名上看这是一次大版本的升级。 上个月,CodeGeeX在VSCode和JetBrains IDEs的插件中,加入了智能问答(Ask CodeGeeX)功能,让用户可以在IDE中通过问答对话的方式解决技术问题。本…

真的好用!!

给大家推荐一个免费服务器!!真的好用的很!!

使用@Lazy的缺点

因为使用时才加载,如果有错误不会在程序开始时报错,而是在运行时报错在调用相应api时,增加访问开销,降低了性能

分分钟带来温暖与干爽,还能除螨除菌,FIVE烘鞋暖被干衣机体验

冬季天气寒冷,白天光照有限,特别是住在南方的朋友,因为空气比较潮湿,所以洗完衣服后晾干是个大难题。当然了,有些朋友会使用烘鞋机、干衣机之类的装备,最近我也入手了一款FIVE烘鞋暖被干衣机,比起那些功能单一的烘干工具,这款的功能更加丰富,而且还可以智能联网,操作…