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 命令行也可以自动补全
Nov 30 Python
Python中函数的参数传递与可变长参数介绍
Jun 30 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
Python 将pdf转成图片的方法
Apr 23 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
python读取几个G的csv文件方法
Jan 07 Python
Python微医挂号网医生数据抓取
Jan 24 Python
python2 对excel表格操作完整示例
Feb 23 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
Spy++的使用方法及下载教程
Jan 29 Python
使用pandas模块实现数据的标准化操作
May 14 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 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 imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
php查看当前Session的ID实例
2015/03/16 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
nodejs开发环境配置与使用
2014/11/17 NodeJs
jquery实现简单的表单验证
2015/11/17 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Python常用库推荐
2016/12/04 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
python 命令行传入参数实现解析
2019/08/30 Python
django使用xadmin的全局配置详解
2019/11/15 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
美国知名生活购物网站:Goop
2017/11/03 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
办公室文秘自我评价
2013/09/21 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
保密工作目标责任书
2014/07/28 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
六一儿童节新闻稿
2015/07/17 职场文书