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中的array数组模块相关使用
Jul 05 Python
Flask框架的学习指南之开发环境搭建
Nov 20 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
聊聊Python中的pypy
Jan 12 Python
python 读入多行数据的实例
Apr 19 Python
python 生成图形验证码的方法示例
Nov 11 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
python中os包的用法
Jun 01 Python
浅析Python 条件控制语句
Jul 15 Python
解决Pytorch半精度浮点型网络训练的问题
May 24 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 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/10/09 PHP
PHP新手上路(八)
2006/10/09 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
json 定义
2008/06/10 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
vue使用nprogress实现进度条
2019/12/09 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
Python返回真假值(True or False)小技巧
2015/04/10 Python
浅谈Python中数据解析
2015/05/05 Python
Python正则表达式经典入门教程
2017/05/22 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
python实战教程之自动扫雷
2018/07/13 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python tkinter控件布局项目实例
2019/11/04 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
Champion官网:美国冠军运动服装
2017/01/25 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
物业客服专员岗位职责
2013/11/30 职场文书
手机业务员岗位职责
2013/12/13 职场文书
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA