不少同学都知道,必应每天都会更新壁纸,都十分漂亮,有时候还十分惊艳,同时还会根据每个地区的特色应用不同的壁纸。

那么,如何让自己的电脑每天同步必应每日图片作为桌面背景呢?

下面用python脚本抓取必应每日图片,并实现桌面壁纸的每天自动切换。

思路整理  

1、通过网页,获取图片地址

2、保存图片到绝对路径

3、设置该绝对路径所指向的图片为壁纸

4、批处理壁纸自动切换

需要用到的模块如下:

import urllib.request
import requests
import os.path
import ctypes

第一、

获取图片地址 

这个函数主要通过requests模块,根据必应的网页地址,获取到当日图片的最终img地址。

# 请求网页,跳转到最终 img 地址
def get_img_url(raw_img_url="https://area.sinaapp.com/bingImg/"):r = requests.get(raw_img_url)img_url = r.url  # 得到图片文件的网址print('img_url:', img_url)return img_url

第二、

保存图片到本地 

这个函数的作用就是把图片保存到你自己设置的一个目录下,并返回当前目录的绝对地址。

def save_img(img_url, dirname):# 保存图片到磁盘文件夹dirname中try:if not os.path.exists(dirname):print('文件夹', dirname, '不存在,重新建立')# os.mkdir(dirname)os.makedirs(dirname)# 获得图片文件名,包括后缀basename = "bing.jpg"# 拼接目录与文件名,得到图片路径filepath = os.path.join(dirname, basename)# 下载图片,并保存到文件夹中urllib.request.urlretrieve(img_url, filepath)except IOError as e:print('文件操作失败', e)except Exception as e:print('错误 :', e)print("Save", filepath, "successfully!")return filepath

第三、

设置该绝对路径所指向的图片为壁纸 

通过之前获得的图片所在的绝对路径,把该图片设置为桌面壁纸。

def set_img_as_wallpaper(filepath):ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0)

第四、

运行代码的main函数 

def main():dirname = "D:\\bingImg"  # 图片要被保存在的位置img_url = get_img_url()filepath = save_img(img_url, dirname)  # 图片文件的路径set_img_as_wallpaper(filepath)

运行效果(此时,可以回看一下文章首图中的左上角那张图片)

第五、

批处理自动更换壁纸 

此时,可以在python脚本的同一目录下创建名为py_bingying.bat的批处理文件,批处理内容如下:

@echo off
del g:\bingImg\*.jpg
python SetBingImgAsWallpaper.py

第二行在运行python脚本前先删除前一天下载的必应图片,这样就实现了旧壁纸的每日清理,最大限度节省了存储空间。第三行为运行上面的python脚本。

如何实现壁纸的自动切换呢,这里采用开机运行上面的批处理程序的方法。

复制上面创建的批处理文件,到下方目录下,右键-粘贴为快捷方式。这样就实现了开机启动批处理程序,自动清除和更新壁纸。

C:\User\yourname\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动

每次开机都执行一遍更换壁纸的操作还不够完美的话,可以用Windows任务计划程序来添加任务,设置每天指定时间点运行批处理程序。

获取全部源码,公众号后台回复 必应

-END-

往期精彩

1、Python教你成为“蚂蚁森林排行榜”第一名2、“一行代码实现 xx”类题目(带答案)3、写出一手烂代码的19条准则

用python每日更换“必应图片”为“桌面壁纸”相关推荐

  1. Python零基础爬虫之回车桌面壁纸并实现自动换壁纸(内附完整源码)

    前言 嗨喽,大家好,这里是魔王~ [课题]: Python零基础爬虫之回车桌面壁纸 [课题介绍]: 壁纸不应该只是一张图片,它应该是一门哲学 回车桌面网100000张无水印,高分辨率,电脑桌面壁纸, ...

  2. windows7 设置png格式图片为桌面壁纸

    windows7 设置png格式图片为桌面壁纸 项目中有一个小需求----自动设置壁纸.按理说,这种小需求理论上都很容易啦,没有必要做笔记了.而在实际开发过程还是遇到了各种问题.当然这是由于windo ...

  3. 小玩意--用必应每日图片换桌面壁纸(Python)

    必应 的每日图片还是不错的,换作自己的桌面壁纸挺有意思的. 这种简单的小程序实现网络上还是很多的,但还是想亲手写一写. 把代码分享一下 # 获取必应每日图片 import os import path ...

  4. 用c#每日更换“必应背景图片”为“桌面壁纸”

    在线工具 必应每天都会更换背景图片,都非常漂亮,有的时候还十分惊艳,同时还会根据每个地区的特色不同应用不同的图片. 下面用c#抓取必应每天的背景图片,并实现桌面壁纸的每天自动切换 实现思路 1.通过获 ...

  5. python实现抓取必应图片设置桌面

    源码参考https://github.com/vbirds/pyWallpaper,代码风格不错 本人只是将其适配到python3.5,并消除一些bug,源代码中桌面地址未使用绝对路径导致win10 ...

  6. python批量下载必应图片

    梗概:我是个化验师,我们可是也要我们做PPT,医学知识往往繁多复杂,要是有比较好的照片配合文字,可以大大增加PPT的效果.必应这个网站可以搜索到比较有价值的医学图片,要是你输入一个医学名词,同样的搜索 ...

  7. python爬虫之必应图片

    参考:python爬取bing图片 import urllib import requests from bs4 import BeautifulSoup import os import time ...

  8. Python《爬取手机和桌面壁纸》

    此次爬取壁纸网站,此网站全是静态的,没有反爬虫手段,感觉是适合新手练手. http://www.win4000.com/mobile.html http://www.win4000.com/wallp ...

  9. 每天更新bing首页图片为桌面壁纸

    功能 每天自动从bing首页下载首页图片,再添加该图片文字描述的水印,然后设置到桌面壁纸. 链接分析 打开bing首页,开chrome调试,捕捉network,再点击上一张,下一张时可以看到一个比较规 ...

最新文章

  1. Numpy Axis
  2. 成功解决TypeError: sequence item 0: expected str instance, bytes found
  3. Angular基础(五) 内建指令和表单
  4. 不用GD32?我把STM32换成了国产MM32
  5. 剑指Offer - 面试题57. 和为s的两个数字(双指针)
  6. mysql索引过多为什么会慢_mysql – 为什么索引使这个查询更慢?
  7. c# union结构体_P/Invoke各种总结(八、在C#中使用Union联合体)
  8. 最近找到了一个免费的python教程,两周学会了python开发
  9. Linux内核hlist数据结构分析
  10. 安装svn + vs code配置svn
  11. Java学习必备单词
  12. 手机查看IGES,STP,STEP格式3D模型免费APP推荐-CAD Assistant
  13. WPS如何给公式加上右边序号
  14. 2008年高考数学江西卷压轴题
  15. Codeforces Round #531 (Div. 3) F.Elongated Matrix(状压dp)
  16. source setup.bash 文件
  17. 快速学习-Saturn作业编排
  18. Spring Boot + Spring-Security实现前后端分离双重身份认证初学者指南(手机号密码JWT + 短信验证码)
  19. 论文阅读:智能机器故障诊断方法综述Applications of machine learning to machine fault diagnosis: A review and roadmap
  20. 自制表情包!android,PicsArt定制专属表情包-PicsArt表情包自制软件下载-乐游网安卓下载...

热门文章

  1. 通过apk签名使应用程序有系统权限
  2. 图神经网络对抗攻击的研究学习(一)
  3. 数据结构 :: 顺序栈与链式栈的设计与实现
  4. C++的成员函数指针简要
  5. 《白帽子讲Web安全》世界观安全
  6. 前后端微信小程序开发
  7. [二] X 名称空间
  8. android bp文件_Android编译系统中的Android.bp【转】
  9. vxWorks系统ps2键盘,tty设备,vga设备的联系
  10. Vmware上安装openstack(Queens版)