zoukankan      html  css  js  c++  java
  • python实现在mac笔记本上更换桌面背景

    每天总是用相同的桌面背景,感觉太没有个性了很无趣,所以就想我可不可以用python脚本实现每天从网上爬取一张图片,定时更换

    思路:

        1) 从必应网站上爬取一张照片,

        2) 图片按照日期保存

        3)命令行实现把这张图片设置为桌面背景

        4) 设置成功后把前一天的图片删除掉

        5) 设置定时器,代码每天执行

    1. 爬取图片

    计划从网站https://cn.bing.com/上爬取一张图片,因为这个网站每天都会更新一张新的图片正好可以用来设置桌面. 

    需要安装的库requests 和BeautifulSoup.

    通过分析必应网站的静态页面,我们如果想爬取到想要的那张照片,我们要先拿到图片的url. 如下图所示,我们需要通过BeautifulSoup 获取到id=bgImg这个标签的scr属性,然后和必应网站的域名拼接,就获取到了这个图片的URL.

    from bs4 import BeautifulSoup
    import requests
    
    bing_domain="https://cn.bing.com/"
    res=requests.get(bing_domain).text
    soup=BeautifulSoup(res,features="html.parser")
    img_url=bing_domain+soup.select("#bgImg")[0].get("src")
    img_content=requests.get(img_url).content
    with open("a.jpg","wb") as f:
        f.write(img_content)

     2. 图片名称设置为当前日期 

    首先想到的是time模块.先获取当前时间的时间戳,然后转换为固定的格式.

    date_format=time.strftime("%Y-%m-%d",time.localtime())
    print(date_format)
    pic_name=os.path.abspath(os.path.curdir)+"/"+date_format+".jpg"

    3. 脚本实现 mac笔记本更换桌面

    这个的实现,一开始真的是难到了我,因为我刚使用mac笔记本没多久,不知道怎么用命令行更换桌面背景,后来网上查了很多的资料.终于找到了解决方法,用osascript.

    osascript -e 'tell application "System Events" to set picture of every desktop to "%s"'%pic_name)



    其实前3步骤基本实现了要做的功能, 步骤4和步骤5,等有时间了再补充

  • 相关阅读:
    Windows设置VMware开机自动启动,虚拟机也启动
    PHP中unset,array_splice删除数组中元素的区别
    Linux 出现 E325:ATTENTION swap
    Linux中的info指令
    java创建线程的三种方式——附源码说明
    JVM类加载过程
    java实现责任链模式的小demo
    讲讲java中线程池的实现
    将原型模式和建造者模式结合起来耍一耍
    一个简单的单例模式Demo
  • 原文地址:https://www.cnblogs.com/yimiaoyikan/p/10211220.html
Copyright © 2011-2022 走看看