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实现的批量下载RFC文档
Mar 10 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
Python求导数的方法
May 09 Python
python定时器(Timer)用法简单实例
Jun 04 Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 Python
Python中psutil的介绍与用法
May 02 Python
python字典的setdefault的巧妙用法
Aug 07 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
Mar 10 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
Keras loss函数剖析
Jul 06 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日历程序
2006/12/06 PHP
discuz Passport 通行证 整合笔记
2008/06/30 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
Python中的hypot()方法使用简介
2015/05/18 Python
python机器学习库常用汇总
2017/11/15 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
python实现log日志的示例代码
2018/04/28 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
python 日志 logging模块详细解析
2020/03/31 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
大学生标准推荐信范文
2013/11/25 职场文书
销售人员获奖感言
2014/02/05 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
教师节班会开场白
2015/06/01 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python