Python reemplaza automáticamente el "fondo de pantalla de la computadora"

Prefacio

El texto y las imágenes de este artículo son de Internet y son únicamente con fines de aprendizaje y comunicación. No tienen ningún uso comercial. Si tiene alguna pregunta, comuníquese con nosotros para su procesamiento.

PD: Si necesita materiales de aprendizaje de Python, puede hacer clic en el enlace de abajo para obtenerlo usted mismo.

Materiales de aprendizaje gratuitos de Python y respuestas de comunicación grupal Haga clic para unirse


Este artículo se divide en dos etapas. La primera etapa es descargar el fondo de pantalla de la computadora, porque el editor no tiene un fondo de pantalla con imágenes, así que escribí un rastreador para rastrear el fondo de pantalla de la otra orilla; la segunda etapa es realizar la operación de automáticamente cambiar el fondo de pantalla de la computadora, si los lectores tienen imágenes y fondos de pantalla, para que puedan ver la segunda etapa directamente.

Crawler obtener fondo de pantalla

Este es un proceso de rastreo, pero se aplica la automatización, es decir, el módulo de selenio en python. Los módulos de python requeridos son solicitudes, selenium, os, time, bs4, etc.

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

Ingresamos el contenido que queremos buscar en el cuadro de entrada, hacemos clic en buscar, podemos encontrar que el formato de la URL en este momento es así.

Es decir, la palabra clave ingresada se ha convertido en una identificación de búsqueda, entonces, ¿cómo obtener esta URL? El editor es así, aplíquelo al módulo de selenio para automatizar la búsqueda, acceda a la interfaz de este sitio web y luego aplique el método current_url en el módulo de selenio para obtener el sitio web.

Debajo de esta URL se encuentra la imagen que buscamos. Obviamente, estas imágenes no pueden tener una sola página (excepto para ajax). Se encuentra que hay un número de página total debajo de esta URL, como el número de página total a continuación es 191 páginas.

Si hacemos clic en uno de los números de página, podemos encontrarlo. La siguiente URL es: http://pic.netbian.com/e/search/result/index.php?page=1&searchid=18  , y los parámetros detrás la página Es uno menos que el número real de páginas, es decir, cuando selecciono la primera página, la página real = 0. Hagamos clic en la imagen para echar un vistazo (por supuesto que es en el caso del modo de desarrollador de inserción)

Descubrí que el tamaño de esta imagen es relativamente pequeño. Si la descarga directamente de esta manera y la configura como fondo de pantalla, el escritorio de la computadora definitivamente se verá borroso.

Después de varios intentos, se descubrió que también hay una dirección de descarga para esta imagen en otro sitio web. El tamaño de la imagen es relativamente grande y el fenómeno no sucederá cuando se establezca como fondo de pantalla de la computadora.

Después de eso, solo necesitamos obtener esta URL y descargarla. Parte del código es el siguiente:

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秒

Cambiar automáticamente el fondo de pantalla de la computadora. Los
módulos de Python requeridos son win32api, win32con, win32gui, os, time, etc. Este principio básico parece aplicarse al registro de la computadora, no lo entiendo muy bien, así que no lo explicaré claramente aquí, y simplemente subo el código.

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

Este tiempo en el código se puede configurar de acuerdo con sus propias necesidades.

 

Supongo que te gusta

Origin blog.csdn.net/pythonxuexi123/article/details/112831596
Recomendado
Clasificación