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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
聊聊Python中的pypy
Jan 12 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
pandas 快速处理 date_time 日期格式方法
Nov 12 Python
解决python3中cv2读取中文路径的问题
Dec 05 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
Jul 04 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
python多线程与多进程及其区别详解
Aug 08 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 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
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
vue项目实战总结篇
2018/02/11 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
Python OpenCV实现图片上输出中文
2018/01/22 Python
Python更新所有已安装包的操作
2020/02/13 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
物流创业计划书
2014/02/01 职场文书
煤矿安全保证书
2015/02/27 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
党员转正介绍人意见
2015/06/03 职场文书
生产车间管理制度
2015/08/04 职场文书