Python 采集77个教学课件PPT模板

简介: Python 采集77个教学课件PPT模板

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

PPT下载链接:https://pan.baidu.com/s/1oOIO76xhSw283aHTDhBcPg?pwd=dydk

提取码:dydk

采集的参数

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课件免费下载第3课时

岳阳楼记ppt课件免费下载第2课时

岳阳楼记ppt课件免费下载第1课时

岳阳楼记译文ppt课件

目录
相关文章
|
1月前
|
自然语言处理 数据处理 Python
python操作和解析ppt文件 | python小知识
本文将带你从零开始,了解PPT解析的工具、工作原理以及常用的基本操作,并提供具体的代码示例和必要的说明【10月更文挑战第4天】
305 60
|
1月前
|
机器学习/深度学习 Linux Python
Python编程教学
【10月更文挑战第2天】Python教学
45 13
|
3月前
|
监控 BI Python
python django教学质量评价系统,实现学生、教师、管理员不同角色管理
本文介绍了一个基于Django框架开发的教学质量评价系统,该系统为学生、教师和管理员提供了不同角色的管理和评价功能,实现了教学质量的全方位评估和管理,旨在提高教育质量和促进教学改革。
python django教学质量评价系统,实现学生、教师、管理员不同角色管理
|
3月前
|
数据采集 存储 自然语言处理
基于Python的微博热点李佳琦忒网友话题的评论采集和情感分析的方法,利用情感分析技术对评论进行情感倾向性判断
本文介绍了一种基于Python的方法,用于采集微博热点话题下的评论数据,并运用情感分析技术对这些评论进行情感倾向性判断,进而通过统计分析和可视化技术展示网友对特定话题的情感态度,对品牌或个人形象管理、用户需求发现、舆情监测和危机管理等方面具有重要价值。
基于Python的微博热点李佳琦忒网友话题的评论采集和情感分析的方法,利用情感分析技术对评论进行情感倾向性判断
|
3月前
|
数据采集 存储 机器学习/深度学习
豆瓣评分7.6!Python大牛教你如何采集网络数据
网络数据采集大有所为。在大数据深入人心的时代,网络数据采集作为网络、数据库与机器学习等领域的交汇点,已经成为满足个性化网络数据需求的最佳实践。你在浏览器上看到的内容,大部分都可以通过编写Python 程序来获取。如果你可以通过程序获取数据,那么就可以把数据存储到数据库里。如果你可以把数据存储到数据库里,自然也就可以将这些数据可视化。 今天给小伙伴们分享的这份手册采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。
|
3月前
|
机器学习/深度学习 存储 定位技术
强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学
本文是关于使用Pygame库开发Python贪吃蛇游戏的实战教学,介绍了Pygame的基本使用、窗口初始化、事件处理、键盘控制移动、以及实现游戏逻辑和对象交互的方法。
|
3月前
|
前端开发 JavaScript 数据库
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
|
3月前
|
数据采集 存储 前端开发
豆瓣评分9.0!Python3网络爬虫开发实战,堪称教学典范!
今天我们所处的时代是信息化时代,是数据驱动的人工智能时代。在人工智能、物联网时代,万物互联和物理世界的全面数字化使得人工智能可以基于这些数据产生优质的决策,从而对人类的生产生活产生巨大价值。 在这个以数据驱动为特征的时代,数据是最基础的。数据既可以通过研发产品获得,也可以通过爬虫采集公开数据获得,因此爬虫技术在这个快速发展的时代就显得尤为重要,高端爬虫人才的收人也在逐年提高。
|
3月前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
67 1
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
【python】python母婴数据分析模型预测可视化(数据集+论文+PPT+源码)【独一无二】
【python】python母婴数据分析模型预测可视化(数据集+论文+PPT+源码)【独一无二】