Python采集壁纸并实现炫轮播


Posted in Python onApril 30, 2022

亮点

1、系统性分析页面

2、多页面数据解析

3、海量图片数据保存

环境

python 3.8

pycharm 2021.2

requests pip install requests

parsel pip install parsel

模块安装问题

如果安装python第三方模块:

win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

在pycharm中点击Terminal(终端) 输入安装命令

如何配置pycharm里面的python解释器?

选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)

点击齿轮, 选择add

添加python安装路径

pycharm如何安装插件?

选择file(文件) >>> setting(设置) >>> Plugins(插件)

点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese

选择相应的插件点击 install(安装) 即可

安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

Python: 编程语言()

用计算机语言(0 1): 用来跟计算机进行交互的语言

翻译 英文单词翻译成 0 或者 1 python 3.8

实现一系列操作

代码编辑器: pycharm 2021.2

Python: 工具

内置模块

第三方模块

python 案例 (采集彼岸壁纸)

来到图片列表页面 进行点击操作 来到图片详情页

在图片详情页里面 点击图片

来到 大图页面 , 获取到图片

代码实现

  • 访问当图片列表页面(发送请求)
  • 获取数据
  • 解析数据
  • 发送请求(访问网站)

采集壁纸

# 导入工具
import requests
import parsel


for page in range(2, 16):
    url = f'http://www.netbian.com/meinv/index_{page}.htm'
    # 1. 发送请求
    response = requests.get(url)
    # 乱码
    response.encoding = 'gbk'
    # 2. 获取数据
    html_data = response.text
    # 3. 解析数据 图片链接获取到 提取出来
    selector = parsel.Selector(html_data)
    img_list = selector.css('.list img::attr(src)').getall()
    for img_url in img_list:
        # 小图片 >>> 大图片
        img_url = img_url.replace('small', '')
        # http://img.netbian.com/file/2022/0416/small0003229mRl41650038602.jpg
        img_url = img_url[:-14] + '.jpg'
        # 图片名称 提取出来
        img_name = img_url.split('/')[-1]
        # 直接获取图片二进制数据
        img_data = requests.get(img_url).content
        print(img_name)
        # 保存数据
        with open(f'img/{img_name}', mode='wb') as f:
            f.write(img_data)

自动换壁纸

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('请输入文件路径:')
    path = r"C:\02-讲师文件夹\巳月公开课\课题\wallhaven\img"
    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


def changeWallpaper_2():
    """文件夹/图片"""
    path = input('请输入文件路径:')
    # path = r"C:\02-讲师文件夹\巳月公开课\课题\回车桌面壁纸\img"
    L2=os.listdir(path=path)  # 得到文件路径下的图片,列表类型
    i=0
    print(L2)
    while True:
        Windows_img(path+'\{}'.format(L2[i]))
        print(path+'\{}'.format(L2[i]))
        time.sleep(10)  # 设置壁纸更换间隔,这里为10秒,根据用户自身需要自己设置秒数
        i += 1
        if i==len(L2):  # 如果是最后一张图片,则重新到第一张
            i=0

if __name__ == '__main__':
    changeWallpaper_2()

到此这篇关于Python实现电脑壁纸的采集与轮换效果的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python使用百度翻译进行中翻英示例
Apr 14 Python
python安装与使用redis的方法
Apr 19 Python
python:socket传输大文件示例
Jan 18 Python
浅谈python数据类型及类型转换
Dec 18 Python
实例讲解Python爬取网页数据
Jul 08 Python
python抓取搜狗微信公众号文章
Apr 01 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
Python循环之while无限迭代
如何Python使用re模块实现okenizer
Apr 30 #Python
如何使用python包中的sched事件调度器
Apr 30 #Python
详解OpenCV获取高动态范围(HDR)成像
详解OpenCV曝光融合
python使用shell脚本创建kafka连接器
Apr 29 #Python
python中pycryto实现数据加密
Apr 29 #Python
You might like
php+oracle 分页类
2006/10/09 PHP
用PHP中的 == 运算符进行字符串比较
2006/11/26 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
Django实现快速分页的方法实例
2017/10/22 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
python实现简易云音乐播放器
2018/01/04 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
python标识符命名规范原理解析
2020/01/10 Python
python开发前景如何
2020/06/11 Python
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
abstract class和interface有什么区别
2013/08/04 面试题
幼儿园实习自我鉴定
2013/12/15 职场文书
关于毕业的广播稿
2014/01/10 职场文书
销售员自我评价
2015/03/11 职场文书
中学生运动会广播稿
2015/08/19 职场文书
TS 类型兼容教程示例详解
2022/09/23 Javascript