又到了粉丝福利分享时间啦!今天我们来用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)  # 输出异常

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

  1. Windows 2003系统也玩图片收藏屏保

    Windows Me/XP的屏幕保护程序可以将"我的文档"里收藏的图片做成屏保.但是在Windows其它版本的操作系统中却没有该功能.想将这个功能移植到Windows 2003中去 ...

  2. Photo Collage Screensaver:用本地图片创建拼贴屏保

    图片拼贴是什么?通俗的说,就是一叠照片凌乱分散摆放在桌子上的情形.而现在纸质的照片已经非常少见,取而代之的是电脑中的电子存档,使用Photo Collage Screensaver,就可以把这些照片电 ...

  3. html文件设置成mac屏保,mac如何自定义设置屏保-mac将图片设置为屏保的方法 - 河东软件园...

    MAC如何自定义设置屏保?当用户在安装了mac系统后,在系统中默认会自带有几张屏保界面,但有些用户对默认的屏保不感兴趣,想要自己设置指定的屏保界面,那么这时我们需要如何操作呢?其实方法很简单,我们只需 ...

  4. Mac美化之动态屏保、动态背景

    本文主要介绍几个软件,Mac下用视频做屏保以及桌面壁纸 动态壁纸 动态壁纸目前用的是Backgrouds,App Store上目前的售价是¥3,当然也有破解版的. 这是正版下载地址 这是破解版下载地址 ...

  5. js大屏导出图片_超大图片全屏动态展示js插件

    intense-images是一款非常实用的超大图片全屏动态展示js插件.该图片查看插件可以全屏显示超大图片,可以使用鼠标来和图片进行交互,上下左右移动鼠标会相应的移动图片,对于超大图片的展示是非常好 ...

  6. android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...

    AssNineGridView 仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图(可自定义). 写在前面 这是一个九宫格控件,本来是很久之前就写好了,现在才开源出来,也是看了很多优秀 ...

  7. kpw4换壁纸_Kindle Paperwhite 原生系统如何更换屏保图片?

    展开全部 除非启动"特惠"功能,Kindle 的默认屏保是无法通过设置更e69da5e887aa323131333532363134313032313635333133336630 ...

  8. 【解决方案】win7计算机屏保的下拉框中,无照片选项,不能设置自定义图片

    手动增加计算机屏保 问题描述 解决方案 问题描述 发现在有的计算机中,想设置自定义的屏保照片时,在屏保下拉框中没有"照片的选项",导致无法选择本地照片作为屏保程序.即缺少如下标红选 ...

  9. Python必应壁纸爬取系列(二):Bing唯美壁纸太多不知道选哪个?Python五行代码随机帮你挑选必应唯美屏保壁纸图片

    上一篇文章我们讲述了如何爬取必应的当天壁纸,那么今天我们就来实现如何写出一个随机必应壁纸或区域的程序.有了这个程序,我们就可以按照自己的喜好添加自己喜欢的文件并且下载了 五行代码实现程序效果图 文章目 ...

最新文章

  1. Go 分布式学习利器(13)-- Go语言的多态
  2. Unity UGUI —— 无限循环List(转载)
  3. C++友元函数和友元类(三)
  4. javascript中操作字符串小结
  5. Watch online
  6. android beta项目官方页面,安卓7.0开发者预览版如何安装?Android Beta项目正式上线...
  7. 史海峰:构建产业互联网金融系统的正确姿势
  8. 淦!这个非科班学妹是真的厉害...
  9. 教你几招——交换变量数值
  10. APICloud的BUG 组件UIActionSelector数据格式引起的安卓手机显示不出
  11. Python程序设计实验——1.尼姆游戏
  12. 基于QT的超市信息管理系统
  13. 02-Axure9.0软件布局及介绍
  14. HTML文本框不能复制粘贴,word文本框无法复制粘贴
  15. CPU设计实战(一)
  16. C语言:error C2084 函数“”已有主体
  17. DTMF双音多频信号仿真演示系统
  18. UEditor定制工具栏图标
  19. 有关古文的C语言编程题,这80道国学题,既经典又有趣!值得珍藏!
  20. 【重温C++ Primer】第一章、初识C++

热门文章

  1. LeetCode 870. 优势洗牌(田忌赛马问题)
  2. 有偏估计 无偏估计matlab,有偏估计和无偏估计
  3. 在ubuntu20.04环境安装noetic ROS
  4. 【Python异常】 NPM创建Vue项目遇到ERROR command failed: npm install --loglevel error
  5. C# 找出泛型集合中的满足一定条件的元素 List.Wher()
  6. 网易 Airtest Project 自动化测试框架学习(一)
  7. 贾扬清从阿里毕业了!
  8. 如何实现飞书自建应用PC端指定浏览器打开
  9. c语言之简单版的图书检索系统
  10. Android之获取Fragment和activity的宽和高