• 【摸鱼系列】3万张4K壁纸还不够你换的吗?python还可以实现更多采集可能


    嗨害大家好鸭!我是小熊猫❤

    之前有小伙伴说:每天看那么几个壁纸我都腻了

    有没有点新奇玩意儿

    我当时 我就笑了~(这不就是妥妥的可以摸鱼了 ~ )

    请添加图片描述

    然后我就在摸鱼的时候给他整了夯巴啦一堆壁纸全打包给他

    今天我们就来一起学习一下怎么采集高质量壁纸~

    有什么python相关报错解答自己不会的、或者源码资料/模块安装/女装大佬精通技巧 都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者+V:python10010问我


    请添加图片描述

    先来看看我们这次的受害者 : 不知道这个能放出来不

    https://wallhaven.cc/
    
    • 1

    是一个图片质量非常高的网站 (C站不让我放图真奇怪)


    先是获取图片

    导入模块

    import requests
    import re
    
    • 1
    • 2

    请求数据

    for page in range(1, 126):
        url = 'https://wallhaven.cc/toplist?page={}'.format(page)
        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
        }
        response = requests.get(url=url, headers=headers)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    解析数据

    urls = re.findall(', response.text)
    for i in urls:
        response_2 = requests.get(url=i, headers=headers)
        img_url = re.findall(', response_2.text)[0]
        title = img_url.split('-')[-1]
        download(title, img_url)
        print(img_url)
    

    保存数据

    def download(title, url):
        path = 'img\\' + title
        response = requests.get(url=url)
        with open(path, mode='wb') as f:
            f.write(response.content)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    部 分 效 果 💗

    请添加图片描述
    请添加图片描述

    自动更换桌面壁纸

    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) # 刷新桌面
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    def changeWallpaper():
        """文件夹/文件夹/图片"""
        path=input('请输入文件路径:')
        L2=os.listdir(path=path)  # 得到文件路径下的壁纸文件夹,列表类型
        i=0
        print(L2)   # 壁纸文件夹
        url_list = []
        for l2 in L2:
            detail_path = path + '\\' + l2
            L3 = os.listdir(detail_path)    # 得到壁纸文件夹路径下的图片,列表类型
            for l3 in L3:
                url_list.append(detail_path + '\\' + l3)
        print(url_list)
        while True:
            Windows_img(url_list[i])
            print('{}'.format(url_list[i]))
            time.sleep(2)  # 设置壁纸更换间隔,这里为10秒,根据用户自身需要自己设置秒数
            i += 1
            if i == len(url_list):  # 如果是最后一张图片,则重新到第一张
                i = 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    def changeWallpaper_2():
        """文件夹/图片"""
        path=input('请输入文件路径:')
        L2=os.listdir(path=path)  # 得到文件路径下的图片,列表类型
        i=0
        print(L2)
        while True:
            Windows_img(path+'\{}'.format(L2[i]))
            print(path+'\{}'.format(L2[i]))
            time.sleep(1000)  # 设置壁纸更换间隔,这里为10秒,根据用户自身需要自己设置秒数
            i += 1
            if i==len(L2):  # 如果是最后一张图片,则重新到第一张
                i=0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    if __name__ == '__main__':
        changeWallpaper()
    
    • 1
    • 2

    展示一波💖

    请添加图片描述

    啊~ 今天也是在摸鱼的一天 ~

    都看到这里了,不点个赞再走嘛~

    我是小熊猫,咱下篇文章再见啦(✿◡‿◡)

    请添加图片描述

  • 相关阅读:
    [模拟赛]2022.07.25
    栈和队列的概念及实现
    使用 Windows Core Audio APIs 进行 Loopback Recording 并生成 WAV 文件
    工作汇报
    【虚拟化生态平台】虚拟化平台搭建
    CSS高级
    什么是Peppol ID?如何创建?
    openresty 高可用部署
    如何将多模态数据融入到BERT架构中-多模态BERT的两类预训练任务
    Mysql->Hudi->Hive
  • 原文地址:https://blog.csdn.net/m0_67575344/article/details/126506031