• 太秀了,Python自动化更换 “电脑壁纸” ,电脑彻底 “解放双手” 了!


    前言

    最近看了一个讲解win的视频,我觉得内容还不错,于是就写了这一篇博文,希望大家喜欢。

    本文章分为两个阶段,第一个阶段是下载电脑壁纸,因为小编没有图片壁纸,所以我写了一个爬取彼岸壁纸的爬虫;第二个阶段是实现自动更换电脑壁纸的操作,如果读者有图片壁纸,可以直接看第二个阶段喔。

    爬虫获取壁纸

    这是一个爬虫的过程,但是应用了自动化,也就是python中的selenium模块,需要的python模块有requests、selenium、os、time、bs4等。

    目标网址:http://pic.netbian.com/

    我们在输入框中输入自己想搜索的内容,点击搜索,可以发现,此时的网址格式是这样的。
    在这里插入图片描述
    也就是输入的关键字变成了搜索id了,那么怎样得到这个网址呢?小编是这样的,应用到selenium模块,实现搜索自动化,来到这个网址的界面,然后,应用selenium 模块下面的current_url 方法就可以得到这个网址了。

    这个网址下面就是我们搜索得到的图片了。很显然,这些图片不可能只有一页(ajax除外),发现这个网址下面有个总页码,如下面的总页码是191页。
    在这里插入图片描述
    我们点击其中的一个页码就如可以发现,接下来的网址的这个为:http://pic.netbian.com/e/search/result/index.php?page=1&searchid=18 ,而且 page 后面的参数要比实际页数少一,也就是我选择第一页的时候,实际 page=0 。我们点击其中的图片看一下(当然是在打卡开发者模式的情况下的)
    在这里插入图片描述
    发现这个图片的尺寸比较小,如果直接这样把它下载下来,设置为壁纸的话,电脑桌面肯定会比较模糊。

    经过几次尝试,发现在另一个网址内部,也有这个图片的下载地址,图片尺寸比较大,设置为电脑壁纸不会出现刚才那种现象。
    在这里插入图片描述
    在这里插入图片描述
    之后,我们只需得到这个网址,并下载即可,部分代码如下:

    def Download():
        id,path=get_info()
        # http://pic.netbian.com/e/search/result/index.php?page={}&searchid={}
        #  网址的格式
        url2='http://pic.netbian.com/e/search/result/index.php?page={}&searchid={}'
    
        headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'}
        # 请求头
        page2=int(input('请输入下载页数(注意不要超过总页数):'))  # 下载页数
    
        for page in range(page2):
            url=url2.format(page,id)
            content=requests.get(url=url,headers=headers)
            L2=bs(content=content.text)
    
            for j in range(len(L2)):
                content=requests.get(url=L2[j],headers=headers).content
                with open(file=path+'./{}-{}.jpg'.format(page+1,j),mode='wb') as f:
                    f.write(content)
            print('-->已下载{}页'.format(page+1))
            time.sleep(2)  # 每下载一页,休眠2秒
    

    很多人学习python,不知道从何学起。
    很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
    很多已经做案例的人,却不知道如何去学习更加高深的知识。
    那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
    QQ群:568668415

    自动更换电脑壁纸

    需要的python模块有win32api、win32con、win32gui、os、time等。这个基本原理好像要应用到电脑注册表,我不是很懂,所以小编在这里就不清晰讲解了,直接上代码。

    import win32api
    import win32con
    import win32gui
    import os
    import time
    
    
    def Windows_img(paperPath):
        k=win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control panel\Desktop",0,win32con.KEY_SET_VALUE)
        # 在注册表中写入属性值
        win32api.RegSetValueEx(k,"wapaperStyle",0,win32con.REG_SZ,"2")  # 0 代表桌面居中 2 代表拉伸桌面
        win32api.RegSetValueEx(k,"Tilewallpaper",0,win32con.REG_SZ,"0")
    
        win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,paperPath,win32con.SPIF_SENDWININICHANGE) # 刷新桌面
    
    def changeWallpaper():
        path=input('请输入文件路径:')
        L2=os.listdir(path=path)  # 得到文件路径下的图片,列表类型
        i=0
        print(L2)
        while True:
            Windows_img(path+'{}'.format(L2[i]))
            time.sleep(10)  # 设置壁纸更换间隔,这里为10秒,根据用户自身需要自己设置秒数
            i += 1
            if i==len(L2):  # 如果是最后一张图片,则重新到第一张
                i=0
    
    if __name__ == '__main__':
        changeWallpaper()
    

    代码中的这个时间可以自己根据自身需求进行设置。

    在这里插入图片描述

    总结

    如果有读者对于Python爬虫爬取彼岸壁纸有问题的,可以加入我的Python学习交流群:568668415学习。

  • 相关阅读:
    第八周课程总结&实验报告(六)
    第七周课程总结&实验报告(五)
    第六周&java实验报告四
    第五周课程总结&试验报告(三)
    第四周作业
    2019春总结作业
    第二周基础作业
    第三周作业
    2019期末总结
    第十四周课程总结 & 实验报告
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/14419322.html
Copyright © 2020-2023  润新知