必应 的每日图片还是不错的,换作自己的桌面壁纸挺有意思的。

这种简单的小程序实现网络上还是很多的,但还是想亲手写一写。

把代码分享一下

# 获取必应每日图片
import os
import pathlib
import time
import urllib
from lxml import etree
import win32api,win32con,win32guihost = "https://cn.bing.com/"# 获取必应每日图片网络地址
def get_picture_href():# request请求必应首页req = urllib.request.urlopen(host)html = req.read().decode("UTF-8")req.close()# 使用Xpath找出链接地址(需要安装lxml包),也可以使用正则(re)查找selector = etree.HTML(html)pic_href = selector.xpath('//*[@id="bgLink"]/@href')[0]# 链接去掉后面冗长的字段href = pic_href.split("&")[0]# 拼接得到完整urlurl = host + hrefreturn url# 下载图片,返回图片绝对地址
def download(url):# 获取后缀suffix = pathlib.Path(url).suffix# 以时间戳命名下载图片filename, headers = urllib.request.urlretrieve(url, "bing_pic_"+str(time.time())+suffix)print("图片请求信息为:")print(headers)print("图片保存为:"+filename)return os.path.abspath(filename)# 更换桌面壁纸(需要安装pywin32包)
def set_wallpaper(img_path):# 打开指定注册表路径reg_key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, win32con.KEY_SET_VALUE)# 最后的参数:2拉伸,0居中,6适应,10填充,0平铺win32api.RegSetValueEx(reg_key, "WallpaperStyle", 0, win32con.REG_SZ, "2")# 最后的参数:1表示平铺,拉伸居中等都是0win32api.RegSetValueEx(reg_key, "TileWallpaper", 0, win32con.REG_SZ, "0")# 刷新桌面win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER, img_path, win32con.SPIF_SENDWININICHANGE)pic_url = get_picture_href()
pic_path = download(pic_url)
set_wallpaper(pic_path)

Xpath那里本来用正则re模块写就行,这样看起来直观。

要安装的模块:

pip install lxml

pip install pywin32

小玩意--用必应每日图片换桌面壁纸(Python)相关推荐

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

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

  2. 用python每日更换“必应图片”为“桌面壁纸”

    不少同学都知道,必应每天都会更新壁纸,都十分漂亮,有时候还十分惊艳,同时还会根据每个地区的特色应用不同的壁纸. 那么,如何让自己的电脑每天同步必应每日图片作为桌面背景呢? 下面用python脚本抓取必 ...

  3. python自动换壁纸_Python爬取必应每日图片并实现Windows壁纸自动切换

    不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力. 原来使用的是Deepin系统,自己写 ...

  4. 计算机桌面怎么换服,台式电脑怎么换桌面壁纸

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 台式电脑换桌面壁纸的具体步骤: 1.鼠标右键点击桌面,选择桌面分辨率. 2.记下屏幕分辨率. 3.鼠标右键点击图片,选择编辑. 4 ...

  5. 怎么换计算机的桌面背景6,台式电脑怎么换桌面壁纸

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 台式电脑换桌面壁纸的具体步骤: 1.鼠标右键点击桌面,选择桌面分辨率. 2.记下屏幕分辨率. 3.鼠标右键点击图片,选择编辑. 4 ...

  6. 随机换桌面壁纸工具开发

    ---恢复内容开始--- 在使用c# 的过程中,忽然想到开发 一个可以随机换桌面壁纸的工具,当然,这样的工具已经有很多了,但是使用别人的尽管很完美但是不如使用自己的有意思. 界面如下: 很简单的功能, ...

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

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

  8. python定时换桌面壁纸

    使用Python从本地文件夹中直接调取图片,自动定时更换桌面壁纸,于是试了一试,效果贼棒! import random import ctypes import time import os path ...

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

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

最新文章

  1. IntelliJ IDEA 2021.3.2 发布:告别不断建议安装xx插件的提示!
  2. C++中虚函数可以是内联函数吗?
  3. ES6转ES5:Gulp+Babel
  4. 网络基础---物理层
  5. diag--创建对角矩阵
  6. 阿里云在应用扩缩容下遇到的挑战与选型思考
  7. DCMTK:将XML文档转换为DICOM文件或数据集
  8. 机器学习基本算法的sklearn接口
  9. [Contest]2017 ACM/ICPC Asia Regional Shenyang Online(01 03 07 09 10 11待补)
  10. Servlet中参数获取方法
  11. 检测air运行环境版本
  12. GDAL读写矢量文件——C#
  13. Leetcode 刷题笔记(二十八) ——动态规划篇之子序列问题:连续子序列和不连续子序列
  14. 驱动INF文件解析和 为自己的设备安装指定驱动
  15. HDU4889 Scary Path Finding Algorithm
  16. Python lambda表达式用法
  17. 搭建Vulhub靶场 【附图】
  18. vue展示日历 考勤展示_vue实现日历组件
  19. HTML5——如何在网页中加入图片和超链接。
  20. 微服务商城系统(十三)订单、支付流程分析

热门文章

  1. 移动端 - APP测试要点
  2. linux添加fcitx输入法,Ubuntu下轻松安装FCITX输入法
  3. VUE父组件向子组件传递数据
  4. 在线代码离线翻译Chrome插件一马v0.0.8 2018-10-31
  5. FreeCodeCamp:Slasher Flick
  6. 【电信学】【2018.01】在芬兰私人和公共停车场实施5G V2X服务
  7. 在OpenStack全球开源社区里,中国力量正在异军突起
  8. 安卓关于健身的代码_亲子运动健身新玩法,娱乐享瘦两不误,让孩子不再沉迷电子产品...
  9. 廖雪峰webApp部署
  10. R语言 ggplot2包载入时候报错,请大家帮忙看看,谢谢