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中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
Python多线程扫描端口代码示例
Feb 09 Python
python3学习笔记之多进程分布式小例子
Feb 13 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
python微信撤回监测代码
Apr 29 Python
python的依赖管理的实现
May 14 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python各协议下socket黏包问题原理
Apr 12 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
apache mysql php 源码编译使用方法
2012/05/03 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
js实现图片轮播效果
2015/12/19 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
js仿360开机效果
2019/12/26 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
Eclipse面试题
2014/03/22 面试题
机械电子工程毕业生自荐信
2013/11/23 职场文书
兼职业务员岗位职责
2014/01/01 职场文书
房地产促销活动方案
2014/03/01 职场文书
服务承诺书
2015/01/19 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
员工规章制度范本
2015/08/07 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js