Python 采集87个手绘风格PPT模板

news2024/11/18 13:58:45

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

PPT下载链接:https://pan.baidu.com/s/1HUAEe_-4IEV6ttOKC_VPuA?pwd=96px 
提取码:96px

采集的参数

    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 #每页的数量

采集主体代码


    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

 采集的文件名

手绘风格乐器素材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模板
卡通手绘风2021庆典PPT模板
卡通儿童旅行相册PPT模板
手绘风圣诞节ppt背景
商务时尚企业PPT模板
秋天的图画ppt
小学语文ppt模板
卡通ppt背景图片
ppt模板免费下载
精美ppt模板免费下载
水彩手绘风感恩教师节ppt
手绘风快乐61儿童节PPT模板
文艺趣味手绘风商务总结PPT模板
手绘风医疗医药数据报告PPT模板
创意手绘风动态工作汇报PPT模板
手绘风可爱小班家长会PPT模板
创意手绘电商节活动策划PPT模板
手绘感恩节主题班会PPT模板
手绘清新教学课件PPT模板
绿色手绘花卉植物个人工作总结PPT模板
手绘卡通风端午节习俗PPT模板
手绘风唯美创意三八女神节PPT模板
日系风手绘美丽38女王节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模板下载

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

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

相关文章

网络层之IP协议(必备知识)

文章目录1、IP协议头格式2、IP分片与组装4、IP基础知识<1>IP地址属于网络层地址<4>IP地址<2>路由控制<3>IP属于面型无连接型4、其他重要协议或技术<1>ICMP协议TCP/IP的心脏是互联网。这一层主要由IP(Internet Protocal) 和ICMP(Internet Control…

短视频内容创作:内容发给谁?为什么发?发什么?以什么形式发?

一句话介绍短视频内容定位&#xff0c;我赢助手每周一课短视频运营关键节点介绍。 内容定位无非就是视频发给谁?为什么发?以什么形式发&#xff1f; 短视频发给谁&#xff1f;就是做好你的目标受众的细分。 商业定位我们之前聊过了&#xff0c;如果你看过之前的内容&#x…

双十二护眼灯牌子买什么的好?几款比较好的学生护眼灯推荐

双十二即将来临&#xff0c;相信很多小伙伴们也开始着手选择比较喜欢的东西了吧&#xff0c;那对于学生来讲&#xff0c;护眼台灯也是一个不可忽视的好东西。 现在的学习压力这么大&#xff0c;用眼过于频繁&#xff0c;所以很多学生孩子眼睛就很容易近视&#xff0c;小小年纪就…

MATLAB实现希尔伯特变换以及FFT补零分析

南京信息工程大学 实验&#xff08;实习&#xff09;报告 实验&#xff08;实习&#xff09;名称 数字信号处理 实验&#xff08;实习&#xff09;日期 得分 指导老师 学院 电信院 专业 电子信息工程 年级 2020 班次 …

从vue2到vue3,生命周期函数有何变化之详解

vue2与vue3生命周期的对比&#xff1a; Vue2--------------Vue3 beforeCreate—————–>setup() created————————>setup() beforeMount—————–>onBeforeMount mounted—————-------> onMounted beforeUpdate -————–> onBeforeUpdate u…

正则表达式入门级别详细教程

文章目录常用正则表表达式01、火车车次02、手机机身码(IMEI)03、必须带端口号的网址(或ip)04、网址(URL)05、统一社会信用代码06、迅雷/ed2k/磁力链接07、子网掩码(不包含 0.0.0.0)08、Linux/windows文件路径09、股票代码(A股)10、大于等于0, 小于等于150, 支持小数位出现5, 如…

手把手教你编写Python抢购脚本

想买苹果手机&#xff0c;但总是抢不到&#xff0c;所以想试着能不能写个脚本代码。 第一步&#xff1a;把想要抢购的商品加进购物车&#xff0c;注意&#xff1a;脚本是对购物车内全部商品进行下单操作&#xff0c;所以不够买的商品最好先从购物车内删除。 第二步&#xff1a…

网络安全这玩意儿真不建议一般人学...

前言 作为一名5年网安工程师老菜鸟来说&#xff0c;我实在想不通&#xff0c;开发岗位那么多&#xff0c;为什么要来学网安? 在这里怕是要给准备入坑的同学泼盆冷水了&#xff0c;网络安全这东西真不建议一般人学... 基础确实很简单&#xff0c;是个人稍微认点真都能懂&…

20221205英语学习

今日新词&#xff1a; abort v.中止, 流产, 放弃, 堕胎 motor adj.有引擎的, 由发动机推动的, 机动车的, 汽车的 flag n.旗, 标志旗, 菖蒲, 旗帜&#xff08;指某国家或组织及其信仰和价值观&#xff09; August n.八月 division n.&#xff08;主要&#xff09;部门&…

数据可视化之疫情可视化

一 前言 新型冠状病毒肺炎&#xff08;COVID-19&#xff0c;简称“新冠肺炎”&#xff09;疫情肆虐全球多个国家&#xff0c;2020年3月11日&#xff0c;世界卫生组织 (WHO) 正式宣布将新冠肺炎列为全球性大流行病。 在全球抗击新型冠状病毒疫情的过程中&#xff0c;产生了前所…

网络管理——直接网络管理规范

逻辑环 逻辑环机制 每个逻辑节点都有一个逻辑地址&#xff0c;且每个节点有一个后继节点&#xff0c;从而建立一个逻辑环。后继节点定义为&#xff1a;按照NM 地址段节点地址大小排列&#xff0c;小地址节点→大地址节点依次传递网络管理报文&#xff1b;最大地址节点→最小地…

【IoT】产品经理:如何了解行业需求、痛点和发展机会?

需求、痛点、发展机会是跟你所处行业的密切相关的&#xff0c;只有融入这个行业&#xff0c;才能更好地理解需求和痛点。 1、避免一叶障目 你需要做到避免只见树木不见森林&#xff0c;避免自己局限于细节而忽视了全局。 我们对部分的理解再深刻&#xff0c;也无法得到对整体的…

年薪90万男子嫌无聊起诉公司?用任务软件飞项充实工作吧!

每天正常上下班&#xff0c;毫无工作压力&#xff0c;这样的神仙工作是不是你期望的&#xff1f;但最近有个奇葩的新闻引起了网友的热议。就是这样的工作&#xff0c;但“身在福中不知福”的男子米尔斯&#xff0c;却将公司给起诉了&#xff0c;理由是“太无聊”。据报道&#…

SpringCloud框架(二):整合Eureka作为注册中心、Feign进行远程调用、Ribbon实现负载均衡,底层源码解读

环境搭建 生产和消费 RestTemplate&#xff0c;底层源码解读SpringCloud环境搭建&#xff1a;生产和消费 RestTemplate整合Eureka和Feign引入Eureka服务注解中心替代RestTemplate&#xff1f;通过openFegin进行调用当一个请求多次落到一个服务上&#xff0c;其他服务如何平衡这…

【Python项目】毕业设计必备——Python实现一个GUI版本的学生信息管理系统 | 附源码

前言 halo&#xff0c;包子们上午好 很多学计算机的小伙伴应该都知道&#xff0c;毕业设计是一个头疼的东西 今天的话小编这边给大家准备好了一个Python版本的毕业设计课题——学生管理系统 说实话操作起来还是有那么一点点的难度的&#xff0c;但是大家不用担心 作为一个宠粉…

SSM框架学习记录-Spring_day02

1.IOC/DI配置管理第三方bean 之前都是基于自己写的类&#xff0c;如果有需求去管理第三方Jar包中的类&#xff0c;该如何管理? 案例:数据源对象管理 使用Spring的IOC容器来管理Druid连接池对象 思路分析 要使用第三方的技术&#xff0c;需要在pom.xml添加依赖 在配置文件中将…

CloudKit教程之如何从 CloudKit 获取图像资源到 SwiftUI 应用程序

最近,我研究了 CloudKit API 文档,并尝试将数据库和资产集成到我的应用程序中。这是我的一些发现,希望对您有所帮助…… 想要从 iCloud 公共数据库获取图像资产到他们的 SwiftUI 应用程序的 Apple 开发人员而写的。 将 Sign in with Apple 集成到 CloudKit 新建 Xcode 项…

CSRF漏洞利用与防御

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是CSRF漏洞利用与防御。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁对未授权设…

Spring更简单的存储和读取Bean

⭐️前言⭐️ 在上一篇文章【Spring的创建与使用】中&#xff0c;我们已经了解了Spring中bean对象的基本的创建和使用方法&#xff0c;这篇文章通过注解的方法&#xff0c;使得存储和读取对象更加简单。 &#x1f349;博客主页&#xff1a; &#x1f341;【如风暖阳】&#x1…

[附源码]计算机毕业设计JAVA疫情背景下社区公共卫生服务系统

[附源码]计算机毕业设计JAVA疫情背景下社区公共卫生服务系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a…