时间:2022-11-20 10:13:49 | 栏目:Python代码 | 点击:次
下面实现内容:
程序的端口是https://www.dmoe.cc/random.php
,也是这位谪仙人给的。需要一个参数:return=json。说明文档见:https://www.dmoe.cc/random.php
。
卷 Data 的文件夹 PATH 列表
卷序列号为 90AF-CB35
D:.
│ 图片展示.py
│
└─temp
直接敲程序,还需要一个名为temp
的文件夹。
请提前安装requests
、pygame
模块。
首先放出备用程序:
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" # 请求URL content = 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) # 输出异常