Python remplace automatiquement "papier peint d'ordinateur"

Préface

Le texte et les images de cet article proviennent d'Internet et sont uniquement à des fins d'apprentissage et de communication. Ils n'ont aucun usage commercial. Si vous avez des questions, veuillez nous contacter pour traitement.

PS: Si vous avez besoin de matériel d'apprentissage Python, vous pouvez cliquer sur le lien ci-dessous pour l'obtenir vous-même

Matériel d'apprentissage gratuit Python et réponses à la communication de groupe Cliquez pour rejoindre


Cet article est divisé en deux étapes. La première étape consiste à télécharger le fond d'écran de l'ordinateur, car l'éditeur n'a pas de fond d'écran d'image, j'ai donc écrit un robot d'exploration pour explorer l'autre fond d'écran du rivage; la deuxième étape consiste à réaliser l'opération de automatiquement changer le fond d'écran de l'ordinateur, si les lecteurs ont des images et des fonds d'écran, afin qu'ils puissent regarder directement la deuxième étape.

Crawler obtenir du papier peint

Il s'agit d'un processus d'exploration, mais l'automatisation est appliquée, c'est-à-dire le module sélénium en python. Les modules python requis sont les requêtes, sélénium, os, time, bs4, etc.

URL de destination: http://pic.netbian.com/

Nous entrons le contenu que nous voulons rechercher dans la zone de saisie, cliquez sur Rechercher, nous pouvons constater que le format de l'URL en ce moment est comme ça.

Autrement dit, le mot-clé saisi est devenu un identifiant de recherche, alors comment obtenir cette URL? L'éditeur est comme ça, appliquez-le au module sélénium pour automatiser la recherche, accédez à l'interface de ce site Web, puis appliquez la méthode current_url sous le module sélénium pour obtenir le site Web.

Sous cette URL se trouve l'image que nous avons recherchée. Évidemment, ces images ne peuvent pas avoir qu'une seule page (sauf pour ajax). On constate qu'il y a un nombre total de pages sous cette URL, tel que le nombre total de pages ci-dessous est de 191 pages.

Si nous cliquons sur l'un des numéros de page, nous pouvons le trouver. L'URL suivante est: http://pic.netbian.com/e/search/result/index.php?page=1&searchid=18  , et les paramètres derrière la page C'est un de moins que le nombre réel de pages, c'est-à-dire que lorsque je sélectionne la première page, la page réelle = 0. Cliquons sur l'image pour jeter un coup d'œil (bien sûr, c'est dans le cas du mode développeur punch-in)

J'ai trouvé que la taille de cette image est relativement petite. Si vous la téléchargez directement de cette manière et la définissez comme fond d'écran, le bureau de l'ordinateur sera définitivement flou.

Après plusieurs tentatives, il a été constaté qu'il existe également une adresse de téléchargement pour cette image sur un autre site Web. La taille de l'image est relativement grande et le phénomène ne se produira pas lorsqu'il est défini comme fond d'écran de l'ordinateur.

Après cela, il nous suffit d'obtenir cette URL et de la télécharger. Une partie du code se présente comme suit:

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秒

Changer automatiquement le fond d'écran de l'ordinateur. Les
modules python requis sont win32api, win32con, win32gui, os, time, etc. Ce principe de base semble être appliqué au registre informatique, je ne le comprends pas très bien, donc je ne vais pas l'expliquer clairement ici, et je viens de télécharger le code.

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()

Cette fois dans le code peut être défini selon vos propres besoins.

 

Je suppose que tu aimes

Origine blog.csdn.net/pythonxuexi123/article/details/112831596
conseillé
Classement