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中执行shell命令的几个方法小结
Sep 18 Python
Python中的tuple元组详细介绍
Feb 02 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Python用61行代码实现图片像素化的示例代码
Dec 10 Python
python lambda函数及三个常用的高阶函数
Feb 05 Python
Python requests设置代理的方法步骤
Feb 23 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
python hmac模块验证客户端的合法性
Nov 07 Python
Python实现机器学习算法的分类
Jun 03 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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
python正则表达式抓取成语网站
2013/11/20 Python
用Python进行TCP网络编程的教程
2015/04/29 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python插件机制实现详解
2020/05/04 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
影视艺术学院毕业生自荐信
2013/11/13 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
端午节活动总结报告
2015/02/11 职场文书
导游词之桂林山水
2019/09/20 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python