分享107个小清新ppt模板,总有一款适合您

news2024/9/22 1:09:39

PPT下载链接:https://pan.baidu.com/s/1WqaR_29avEgq46iTSLKfmw?pwd=5r81 
提取码:5r81

源码下载链接:ppt.rar - 蓝奏云

采集的参数

    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    base_url = "https://sc.chinaz.com/"  # 采集的网址  https://sc.chinaz.com/tag_ppt/zhongguofeng.html
    save_path = "D:\\Sprider\\ChinaZ\\"
    sprider_count = 110 # 采集数量
    haved_sprider_count = 0  # 已经采集的数量
    word_content_list = []
    folder_name = ""
    first_column_name = "ppt"
    sprider_start_count=800 # 从第几个序号开始 直接改数量即可 会做除法操作正 正在采集第32页的第16个资源 debug

    max_pager=20 #每页的数量


下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。

小清新雏菊ppt背景图片
水粉手绘小清新花卉ppt背景图片
绿色小清新婚礼ppt背景图片
小清新简约树叶ppt背景图片
小清新个人简历ppt模板免费下载
水彩风小清新夏日森系ppt模板
文艺小清新毕业纪念册相册ppt模板
小清新文艺营销活动ppt模板下载
小清新风格五月你好ppt模板
小清新文艺范总结汇报ppt模板
小清新教育总结ppt模板
小清新蓝绿植物文艺风ppt模板
小清新轻食招商计划书ppt模板
时尚小清新文艺风ppt模板
小清新文艺风春日通用ppt模板
小清新文艺风通用ppt模板
花卉小清新文艺风ppt模板
小清新文艺风ppt模板
时尚小清新文艺风ppt模板
文艺风小清新旅行日记ppt模板
文艺风小清新旅行相册ppt模板
文艺风小清新旅行日记ppt模板
简约小清新文艺风PPT模板
春分节气小清新ppt模板
唯美小清新春天主题ppt模板
关于春天主题ppt模板
小学网络安全主题教育PPT模板
三年级家长会PPT模板
小清新毕业答辩清爽PPT模板
人力资源员工培训PPT模板
女生小清新自我介绍PPT模板
人力资源部月度述职报告PPT模板
企业文化建设PPT模板
财务助理述职PPT模板
小清新工作总结PPT模板
工作总结月报PPT模板
绿色环保主题PPT模板
小清新职业生涯策划书PPT模板
小清新财务总结报告PPT模板
简历自我介绍PPT模板
公司策划书PPT模板
护士长年终工作总结PPT模板
小清新情人节PPT模板
青春飞扬纪念册PPT模板
转正述职报告PPT范文
员工年终总结PPT模板
答辩免费PPT模板
文艺风小清新旅行相册PPT模板
手绘风圣诞节ppt背景
圣诞节的ppt
简约小清新工作汇报PPT模板
3到5年职业规划PPT模板
小清新紫色简约ppt
关于青春的ppt
绿色ppt模板下载
蓝色小清新演讲ppt模板
动态相册ppt模板
生日祝福ppt模板
开题答辩ppt
读书交流会ppt
介绍自己的ppt
欢送会ppt
个人介绍ppt模板
小清新ppt背景图片
小清新ppt模板
创意ppt模板
介绍家乡的ppt模板
免费ppt模板大全
简约复古小清新工作汇报PPT模板
小清新职业调查报告PPT模板
简洁复古小清新PPT模板
简约文艺小清新工作汇报PPT模板
蓝色日系简约小清新PPT模板
小清新研究生学术课题汇报PPT模板
小清新行政月度工作总结PPT模板
小清新老师教学设计课件PPT模板
人力资源工作总结小清新PPT模板
年中极简小清新工作汇报PPT模板
小清新绿色工作计划PPT模板
小清新卡通简约教学PPT模板
2020工作计划商务风PPT模板
简约小清新工作汇报PPT模板
小清新教学教师通用PPT模板
文艺风小清新旅行日记PPT模板
6.5环境保护绿色小清新PPT模板
小清新简约文艺ins风总结计划PPT模板
工作总结述职小清新商务风PPT模板
小清新公开课教育教学计划PPT模板
绿色小清新夏日风工作报告PPT模板
小清新绿植绘画教学通用PPT模板
小清新文艺风读书分享PPT模板
唯美日系文艺小清新通用PPT模板
小清新治愈系读者文摘PPT模板
小清新开学季读书分享PPT模板
复古欧式小清新人事工作总结PPT模板
小清新养生美容会所活动宣传PPT模板
小清新教学课件总结通用PPT模板
中小学生安全主题教育类通用PPT模板
小清新旅游行业营销宣传PPT模板
小清新抽象教育培训商务总结PPT模板
小清新教师远程在线教育课件PPT模板
小清新艺术抽象教学课件PPT模板
小清新休闲时光餐饮PPT模板
小清新ins风圣诞快乐PPT模板
小清新年终述职报告PPT模板
小清新简约金融理财PPT模板
小清新冬季新品发布会PPT模板
小清新商务营销计划PPT模板
小清新卡通插画风户外旅游PPT模板
文艺小清新旅游专题PPT模板
小清新绿植感恩节总结PPT模板
小清新美容美妆通用PPT模板
 

小清新雏菊ppt背景图片

水粉手绘小清新花卉ppt背景图片

绿色小清新婚礼ppt背景图片

小清新简约树叶ppt背景图片

import os
from time import sleep

import requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inches

from framework.access.sprider.SpriderAccess import SpriderAccess
from framework.base.BaseFrame import BaseFrame
from framework.pulgin.Tools import Tools
from sprider.business.DownLoad import DownLoad
from sprider.model.SpriderEntity import SpriderEntity
from sprider.business.SpriderTools import SpriderTools
from sprider.business.UserAgent import UserAgent

class ChinaZPPT:
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    base_url = "https://sc.chinaz.com/"  # 采集的网址  https://sc.chinaz.com/tag_ppt/zhongguofeng.html
    save_path = "D:\\Sprider\\ChinaZ\\"
    sprider_count = 112 # 采集数量
    haved_sprider_count = 0  # 已经采集的数量
    word_content_list = []
    folder_name = ""
    first_column_name = "ppt"
    sprider_start_count=0 # 从第几个序号开始 直接改数量即可 会做除法操作正  正在采集第108页的第9个资源 debug

    max_pager=20 #每页的数量

    def __init__(self):
        #A5AndroidCoder().sprider("android", "youxi", 895)  # daimaku
        pass

    def sprider(self, second_column_name):
        """
        采集Coder代码
        :return:
        """
        if second_column_name == "zhongguofeng":
            self.folder_name = "中国风"
            self.first_column_name="tag_ppt"
        elif second_column_name == "xiaoqingxin":
            self.folder_name = "小清新"
            self.first_column_name = "tag_ppt"
        elif second_column_name == "kejian":
            self.folder_name = "课件"
            self.first_column_name = "ppt"

        merchant = int(self.sprider_start_count) // int(self.max_pager) + 1

        second_folder_name = str(self.sprider_count) + "个" + self.folder_name
        self.save_path = self.save_path+ os.sep + "PPT" + os.sep +  second_folder_name
        BaseFrame().debug("开始采集ChinaZPPT...")
        sprider_url = (self.base_url + "/" +  self.first_column_name + "/" + second_column_name + ".html")
        response = requests.get(sprider_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
        response.encoding = 'UTF-8'
        soup = BeautifulSoup(response.text, "html5lib")
        #print(soup)
        div_list = soup.find('div', attrs={"class": 'ppt-list'})
        div_list =div_list.find_all('div', attrs={"class": 'item'})
        #print(div_list)
        laster_pager_url = soup.find('a', attrs={"class": 'nextpage'})
        laster_pager_url = laster_pager_url.previous_sibling



        #<a href="zhongguofeng_89.html"><b>89</b></a>

        page_end_number = int(laster_pager_url.find('b').string)
        #print(page_end_number)
        self.page_count = merchant

        while self.page_count <= int(page_end_number):  # 翻完停止
            try:
                if self.page_count == 1:
                    self.sprider_detail(div_list,self.page_count,page_end_number)
                else:
                    if self.haved_sprider_count == self.sprider_count:
                        BaseFrame().debug("采集到达数量采集停止...")
                        BaseFrame().debug("开始写文章...")
                        self.builder_word(self.folder_name, self.save_path, self.word_content_list)
                        BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
                        break
                    #https://www.a5xiazai.com/android/youxi/qipaiyouxi/list_913_1.html
                    #https://www.a5xiazai.com/android/youxi/qipaiyouxi/list_913_2.html
                    #next_url = sprider_url + "/list_{0}_{1}.html".format(str(url_index), self.page_count)
                    #  (self.base_url + "/" + first_column_name + "/" + second_column_name + "/"+three_column_name+"")
                    next_url =(self.base_url + "/" +  self.first_column_name + "/" + second_column_name + "_{0}.html").format(self.page_count)
                    # (self.base_url + "/" + self.first_column_name  + "/" + second_column_name + "")+"/list_{0}_{1}.html".format(str(self.url_index), self.page_count)
                    response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
                    response.encoding = 'UTF-8'
                    soup = BeautifulSoup(response.text, "html5lib")
                    div_list = soup.find('div', attrs={"class": 'ppt-list'})
                    div_list = div_list.find_all('div', attrs={"class": 'item'})
                    self.sprider_detail(div_list, self.page_count,page_end_number)
                    pass
            except Exception as e:
                print("sprider()执行过程出现错误" + str(e))
                pass
            self.page_count = self.page_count + 1  # 页码增加1

    def sprider_detail(self, element_list, page_count,max_page):
        try:
            element_length = len(element_list)

            self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)
            index = self.sprider_start_index

            while index < element_length:
                a=element_list[index]
                if self.haved_sprider_count == self.sprider_count:
                    BaseFrame().debug("采集到达数量采集停止...")
                    break
                index = index + 1
                sprider_info = "正在采集第" + str(page_count) + "页的第" + str(index) + "个资源"
                BaseFrame().debug(sprider_info)

                title_image_obj = a.find('img', attrs={"class": 'lazy'})
                url_A_obj=a.find('a', attrs={"class": 'name'})
                next_url = self.base_url+url_A_obj.get("href")
                coder_title = title_image_obj.get("alt")
                response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
                response.encoding = 'UTF-8'
                soup = BeautifulSoup(response.text, "html5lib")
                #print(next_url)
                down_load_file_div = soup.find('div', attrs={"class": 'download-url'})
                if down_load_file_div is None:
                    BaseFrame().debug("需要花钱无法下载因此跳过哦....")
                    continue

                down_load_file_url = down_load_file_div.find('a').get("href")

                #print(down_load_file_url)
                image_obj = soup.find('div', attrs={"class": "one-img-box"}).find('img')
                image_src = "https:"+ image_obj.get("data-original")
                #print(image_src)

                if (DownLoad(self.save_path).__down_load_file__(down_load_file_url, coder_title, self.folder_name)):
                    DownLoad(self.save_path).down_cover_image__(image_src, coder_title)  # 资源的 封面
                    sprider_content = [coder_title,
                                       self.save_path + os.sep + "image" + os.sep + coder_title + ".jpg"]  # 采集成功的记录
                    self.word_content_list.append(sprider_content)  # 增加到最终的数组
                    self.haved_sprider_count = self.haved_sprider_count + 1
                    BaseFrame().debug("已经采集完成第" + str(self.haved_sprider_count) + "个")
            if (int(page_count) == int(max_page)):
                self.builder_word(self.folder_name, self.save_path, self.word_content_list)
                BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
        except Exception as e:
            print("sprider_detail:" + str(e))
            pass

    def builder_word(self, word_title, save_path, list_files):
        """
        输出产物是word文件
        :param word_title: 文件的标题
        :param save_path: 文件的保存路径
        :param list_files: 文件集合(单个内容)
        :return:
        """
        try:
            self.copy_file(self.save_path)

            print("Create Word"+word_title)
            file_count= len(list_files)

            self.gen_passandtxt(file_count,word_title)

            document = Document()
            document.add_heading(word_title, level=2)
            document.add_paragraph("分享"+str(file_count)+"个"+str(word_title)+",总有一款适合您\r\n"
                                   "下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。")
            ppt_tieles = ""
            for files in list_files:
                ppt_tieles = ppt_tieles + str(files[0]) + "\r"
            document.add_paragraph(ppt_tieles)
            for files in list_files:
                try:
                    document.add_paragraph(files[0])
                    document.add_picture(files[1], width=Inches(3))
                except Exception as e:
                    pass
            document.add_paragraph("最后送大家一首诗:")
            paragraph = document.add_paragraph()  # 单独控制
            paragraph.add_run("山高路远坑深,\r")
            paragraph.add_run("大军纵横驰奔,\r")
            paragraph.add_run("谁敢横刀立马?\r")
            paragraph.add_run("惟有点赞加关注大军。\r")
            paragraph.bold = True  # 字体加粗
            file_full_path=save_path+os.sep+word_title+".docx"
            document.save(file_full_path)
        except Exception as e:
            print("Create Word Fail reason:" + str(e))

    def gen_passandtxt(self,file_count,word_title):

        print("Create PassWord and Pass.txt")
        message=SpriderTools.gen_password()
        password = "".join(message)
        content=""
        content = content + "\n分享"+str(file_count)+"个"+word_title+",总有一款适合您\r\n"
        content = content + "\n\r"
        content=content+"\n都到这里了您就支持一下呗!谢谢老铁~~"
        content=content+"\n\r"
        content=content+"\n文件我就不一一列举了,送老铁一首打油诗"
        content=content+"\n学习知识费力气,"
        content=content+"\n收集整理更不易。"
        content=content+"\n知识付费甚欢喜,"
        content=content+"\n为咱码农谋福利。"
        content=content+"\n\r"
        content=content+"\n\r"
        content=content+"\n感谢您的支持"
        content=content+"\n\r"
        content=content+"\n-------------------------------------------华丽分割线-------------------------------------------------------"
        content=content+"\n友情提醒解压密码:"+password+""

        full_path=self.save_path+os.sep+""+str(file_count)+"sell_pass.txt"
        with open(full_path, 'a', encoding='utf-8') as f:
            f.write(content)

    def copy_file(self,target_path):
        print("copy files")
        import os
        import shutil
        src_apk_file_path="薅羊毛专业版.apk"
        dst_apk_file_path=target_path+os.sep+"薅羊毛专业版.apk"
        shutil.copyfile(src_apk_file_path, dst_apk_file_path)  # 移动文件

        src_pdf_file_path = "薅羊毛专业版.pdf"
        dst_pdf_file_path = target_path + os.sep + "薅羊毛专业版.pdf"
        shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件

        src_doc_file_path = "readme.docx"
        dst_doc_file_path = target_path + os.sep + "readme.docx"
        shutil.copyfile(src_doc_file_path, dst_doc_file_path)  # 移动文件

        pass

if __name__ == "__main__":
    ChinaZPPT().sprider("xiaoqingxin")  # daimaku

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大一学生《Web编程基础》期末网页制作 基于HTML+CSS+JavaScript响应式个人主页相册介绍模板

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

UNIX环境高级编程_文件IO_文件描述表

这篇文件记录文件描述表。 2 文件描述符表 2.1 什么是文件描述符表 当运行一个程序时&#xff0c;内核会创建进程表task_struct。当open 打开文件后&#xff0c;会在进程表中创建相应的结构体来记录打开的文件&#xff0c;这个结构体就是文件描述符表。 2.2 task_struct 与…

Apple M1 开启HiDPI的新方法,无需虚拟屏,无需SwitchResX

之前折腾2K屏开HiDPI时记录过三种方法&#xff1a; 2020年03月&#xff1a;SwitchResX 开启HiDPI时显示Not installed的解决办法 2020年11月&#xff1a;升级macOS Big Sur 后 HIDPI失效的解决办法 2021年12月&#xff1a; Apple M1 开启HiDPI的新方法&#xff0c;无需关闭SIP&…

MySQL学习笔记(十三)count(*),count(id),count(1),count(字段)区别

count count 是MySQL的一个查询数量统计的函数&#xff0c;我们在平常的工作中经常会用到&#xff0c;count(*),count(id),count(1),count(字段)这4种写法有什么区别呢&#xff1f; //星号 select count(*) from user; //常数 select count(1) from user; //id(主键) select …

片内总线在cpu扮演什么角色?他为什么能实现高效,不同的CPU为什么采用不同的总线协议?

文章目录各种新型片上总线维度&#xff08;Degree&#xff09;跳&#xff08;Hop&#xff09;和跳数&#xff08;Hop Count&#xff0c;HC&#xff09;直连拓扑和路由器Intel的Ring和Mesh总线双Ring结构Mesh Bus结论片上总线&#xff0c;也称作片上网络&#xff08;Network on …

毕业设计-基于机器视觉的火灾烟雾检测识别系统-yolo

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于网络安全维护的机房设备管理19rya

对于计算机专业的学生最头疼的就是临近毕业时的毕业设计,对于如何选题,技术选型等这些问题,难道了大部分人,确实,还没毕业的学生对于这些问题还比较陌生,只有学习的理论知识,没有实战经验怎么能独自完成毕业设计这一系列的流程,今天我们就聊聊如何快速应对这一难题. 比较容易的…

LSM Tree

LSM Tree 的存储模型&#xff0c;包括 Tidb&#xff0c;HBase等 特点 通过将大量的随机写转换为顺序写&#xff0c;从而极大地提升了数据写入的性能&#xff0c;虽然与此同时牺牲了部分读的性能。 只适合存储 key 值有序且写入大于读取的数据&#xff0c;或者读取操作通常是…

vueX持久化存储插件

场景&#xff1a;我们在做vue项目时&#xff0c;会遇到存储一些公共值&#xff0c;这样方便在不同的页面去调用这些值 vue中有个vuex&#xff0c;一般我们都存储在这里&#xff0c;这样在每个页面都能够调用 但是&#xff0c;当页面刷新了&#xff0c;这些值就被自动清理掉了 这…

第七届 Sky Hackathon 笔记集合贴

Alex_McAvoy--------NVIDIA 7th SkyHackathon&#xff08;二&#xff09;开发套件的安装与测试 Alex_McAvoy--------NVIDIA 7th SkyHackathon&#xff08;三&#xff09;语音数据集的制作 Alex_McAvoy--------NVIDIA 7th SkyHackathon&#xff08;四&#xff09;Nemo ASR 模型训…

vue.js ES6对象字面量的增强写法

1.属性的增强写法 ES5的写法&#xff1a; 运行效果 ES6的写法&#xff1a; 运行效果 2.函数的增强写法 ES5的写法&#xff1a; ES6的写法&#xff1a; 完整代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"…

基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT)

毕业设计&#xff08;论文&#xff09; &#xff08; 20 届&#xff09; 论文&#xff08;设计&#xff09;题目 基于Javamail的邮件收发系统 作 者 二级学院、专业 班 级 指导教师&#xff08;职称&#xff09; 论 文 字 数 论文完成时间 20年月日 基于JavaMail的邮件…

169-Rust和Solana环境配置

之前写过一篇Rust和Solana环境配置的 应该说写得是非常非常好 并不是说博文写得好 而是说写得非常非常的必要 比如我现在就是想要搞Rust和Solana配置 但是好久好久没搞了 已经完全忘记了 看到那一篇博文的时候就感觉想起来了很多 如果可以参考那篇完整做下来的话 就会…

是时候展示给大家这5款压箱底的软件了

是时候把自己压箱底的软件都发出来了&#xff0c;软件都是小巧耐用&#xff0c;不带广告的&#xff0c;赶紧下载起来吧&#xff01;就算暂时用不到的&#xff0c;也可以收藏起来等需要的时候再来下载&#xff01; 1.PPT演示——Focusky 一个高效的动画 PPT 演示软件&#xff0…

Linux学习-71-GRUB手动安装方法

16.13 GRUB手动安装方法 需要手工安装 GRUB 主要有两种情况&#xff1a; Linux 系统原先不是使用 GRUB 作为引导程序而现在想要使用 GRUB 来作为引导程序&#xff1b;MBR 中的引导程序被覆盖&#xff0c;需要在 MBR 中重新安装 GRUB&#xff0c;如先安装了 Linux 系统&#xf…

主成分分析的基本原理

目录 什么是主成分分析&#xff1f; 主成分分析的步骤 根据什么选择主成分&#xff1f; 怎样解释主成分&#xff1f; 特征值、方差解释率及碎石图 载荷系数与共同度 什么是主成分分析&#xff1f; 主成分的概念由Karl Pearson在1901年提出的。他是考察多个 变量间相关性…

Qt扫盲-Qt Creator IDE使用总结

Qt Creator IDE使用总结一、欢迎页1. 最近项目2. 示例3. 教程二、编辑页1. 左侧菜单区1. 工具栏2. 项目目录常用操作介绍1. 项目名2. 中间编码区1.顶部工具区2.编码区的常用功能1. 文件操作2. 类的一些方便操作1、Follow Symbol Under Cursor2. 查找和替换3. Refactor4. F1帮助…

AP1236 线性LDO稳压IC 工作原理图分享

深圳世微半导体有限公司&#xff0c;专业研发DC/DC降压恒流车灯IC&#xff0c;我们有一流的研发团队&#xff0c;良好的服务&#xff0c;做一流品质的产品&#xff0c;所有产品均提供配套方案和技术支持 供应多种DC/DC降压恒流方案选型表&#xff1a; AP5160 外置MOS电流20MA-…

构造一个m行n列的二维数组(mln的取值均小于等于4, mln均由键盘输入),并由键盘输入数组元素的值,并且按照矩阵的形式输出

构造一个m行n列的二维数组(mln的取值均小于等于4&#xff0c; mln均由键盘输入),并由键盘输入数组元素的值&#xff0c;并且按照矩阵的形式输出 Scanner sc new Scanner(System.in); System.out.println("请输入行"); int m sc.nextInt(); System.out.println(&quo…

【Java】阿拉伯数字转汉字(完全符合中文阅读习惯)(支持所有整数类型)

Java 阿拉伯数字转汉字 网上看过很多实现&#xff0c;但都有 BUG&#xff0c;不是多余0没有处理&#xff0c;就是很多生成的汉字字符串根本不符合中文阅读习惯&#xff08;各位代码写完测试的时候用例多搞一点啊&#xff09; 刚好公司有个项目就要实现这个小功能&#xff0c;…