python爬取五百丁ppt模板(有图+有代码)

抓取世界500强公司 正则表达式练手 获取url&解析 正则表达式&匹配 写入表格&保存 import re from bs4 import BeautifulSoup import openpyxl from urllib import request url='http://www.fortunechina.com/fortune500/c/2018-07/19/content_311... 阅读详情

更新时间 2019年3月15日

五百丁首页

在这里插入图片描述

下载截图

在这里插入图片描述
在这里插入图片描述

python代码

# -*-coding:utf-8-*-
import datetime
import json
import os
import threading
import time
import traceback
from queue import Queue

import requests
from lxml import etree
from pip._vendor.retrying import retry


class _500d_ppt:
    count = 0  # 简单技术用

    def __init__(self, initUrl, page, savedir):
        self.initUrl = initUrl
        self.page = page
        self.save_dir = savedir

        """"""
        # http://www.500d.me/ppt/moban/baogao/?pageNumber=2
        self.url_pattern = self.initUrl + "?pageNumber={}".format(self.page)
        self.detail_url_pattern = "http://www.500d.me/order/check_product_downtimes/?pid={}&_={}"
        self.headers = {
            "Accept": "application/json, text/javascript, */*; q=0.01",
            "Accept-Encoding": "gzip, deflate, sdch",
            "Accept-Language": "zh-CN,zh;q=0.8",
            "Connection": "keep-alive",
            "Cookie": "需要终身会员的cookie,终身会员39元,每天可以下载30套",
            "Host": "www.500d.me",
            "Referer": "http://www.500d.me/template/491.html",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36",
            "X-Requested-With": "XMLHttpRequest"
        }
        self.url_queue = Queue()
        self.html_queue = Queue()  # html结果
        self.list_queue = Queue()  # 列表结果
        self.data_queue = Queue()  # 最终数据,包含简历url和简历图片url

    @retry(stop_max_attempt_number=4)
    def _send_req(self, url):
        response = requests.get(url, headers=self.headers, timeout=30, verify=False)
        assert response.status_code == 200
        html = response.text
        print(html)
        print("-------------------html获取成功-------------------")
        return html

    def get_html(self):
        while True:
            url = self.url_queue.get()
            # http://www.500d.me/ppt/moban/dabian/?pageNumber=2
            print(url)
            try:
                html = self._send_req(url)
            except Exception as e:
                traceback.print_exc()
                html = None
            # 第三次还是失败了,就存None
            self.html_queue.put(html)
            self.url_queue.task_done()  # 配合get计数减少1

    def parse_list(self):
        while True:
            html = self.html_queue.get()
            if html is not None:
                # 立马出队列
                # html_encode = html.encode()
                etree_html = etree.HTML(html)

                list = etree_html.xpath("//li[@class='listItem']")
                for tr in list:
                    item = {}
                    title = tr.xpath("./div[@class='item']/p/a/text()")[0]
                    item["title"] = title;  # title

                    # print(title)

                    if self.isFileExist(title):
                        print("已经存在 " + title)
                        continue

                    imgUrl = tr.xpath("./div/a/img/@src")[0]
                    item["imgUrl"] = imgUrl;  # imgUrl
                    # print(imgUrl)

                    href = tr.xpath("./div[@class='item']/a/@href")[0]
                    item["href"] = href;  # href
                    # print(href)

                    if 'ppt' not in href:
                        continue

                    end = href.rfind('.html')
                    start = href.rfind('/') + 1
                    id = href[start:end]
                    item["id"] = id;  # id
                    # print(id)

                    print(item)
                    self.list_queue.put(item)
                self.html_queue.task_done()

    # 判断文件是否存在
    def isFileExist(self, title):
        names = self.file_names(self.save_dir)
        for name in names:
            if title in name:
                return True
        return False

    def file_names(self, file_dir):
        for root, dirs, files in os.walk(file_dir):
            # print(root) #当前目录路径
            # print(dirs) #当前路径下所有子目录
            # print(files) #当前路径下所有非目录子文件
            return files

    # 发起网络请求请求地址
    def parse_detail(self):
        while True:
            item = self.list_queue.get()
            print(item)

            timestamp = int(time.time());
            id_ = item['id']
            detail_url = self.detail_url_pattern.format(id_, timestamp)

            print("detail_url:" + detail_url)
            response = requests.get(detail_url, headers=self.headers)
            if (response.status_code == 200):
                course_detail_content = response.content.decode()
                data = json.loads(course_detail_content)
                type_ = data['type']
                if 'error' == type_:
                    print("zip地址解析失败,今天下载次数已经用完")
                    self.list_queue.task_done()
                    continue

                zipUrl = data['content']
                item['zipUrl'] = zipUrl
                print(item)
            else:
                print("detail 失败:" + str(response.status_code))

            self.data_queue.put(item)
            self.list_queue.task_done()

    def save_data(self):

        while True:
            item = self.data_queue.get()
            print(item)

            # 计数统计
            self.count += 1

            zipUrl = item['zipUrl']
            title = item['title']
            imgUrl = item['imgUrl']

            ############################图片下载################################
            # 这是一个图片的url
            print("开始下载 img" + " " + imgUrl)
            response = requests.get(imgUrl)
            # 获取的文本实际上是图片的二进制文本
            img = response.content
            # 下载图片
            with open(self.save_dir + title + ".png", 'wb') as f:
                f.write(img)

            ############################zip下载################################
            print("开始下载 zip" + " " + zipUrl)
            reponse = requests.get(zipUrl)
            with open(self.save_dir + title + ".zip", "wb") as code:
                code.write(reponse.content)

            self.data_queue.task_done()

    def get_url_list(self):
        self.url_queue.put(self.url_pattern)

    def run(self):
        print("--------500丁简历下载 多线程版 begin--------")
        thread_list = []

        # 1.准备url
        print("----------------1.准备url---------------")
        for i in range(1):
            t_url = threading.Thread(target=self.get_url_list)
            thread_list.append(t_url)

        # 2遍历,发送请求,获取响应
        print("----------------2遍历,发送请求,获取响应---------------")
        for i in range(1):
            t_get_html = threading.Thread(target=self.get_html)
            thread_list.append(t_get_html)

        #  3.提取列表
        print("----------------3.提取列表---------------")
        for i in range(1):
            t_parse_list = threading.Thread(target=self.parse_list)
            thread_list.append(t_parse_list)

        # 4.解析详情
        print("----------------4.解析详情---------------")
        for i in range(10):  # content_queue里面有几十个task
            t_parse_detail = threading.Thread(target=self.parse_detail)
            thread_list.append(t_parse_detail)

        # 5.保存
        print("----------------5.保存---------------")
        for i in range(10):
            t_save_data = threading.Thread(target=self.save_data)
            thread_list.append(t_save_data)

        print("-----开启了 " + str(len(thread_list)) + " 个线程执行任务-----")
        for t in thread_list:
            t.setDaemon(True)  # 设置守护线程,说明该线程不重要,主线程结束,子线程结束
            t.start()  # 线程启动
        for q in [self.url_queue, self.html_queue, self.list_queue,
                  self.data_queue]:
            q.join()  # 等待,让主线程等待,队列计数为0之后才会结束,否则会一直等待

        print("--------一共获取{}份ppt模板--------".format(self.count))

    # 过滤字符串
    def filterString(self, str):
        str = str.replace("\r", "")
        str = str.replace("\n", "")
        str = str.replace("\t", "")
        str = str.replace(" ", "")
        return str


if __name__ == '__main__':
    starttime = datetime.datetime.now()

    initUrl = "http://www.500d.me/ppt/moban/baogao/"  # 初始地址
    order = "工作汇报"  # 需要的类型
    pageStart = 0  # 开始页数
    pageEnd = 2  # 结束页数

    for page in range(pageStart, pageEnd):
        savedir = "D:\\0五百丁-ppt\\" + order + "-" + str(page) + "\\"
        if os.path.exists(savedir) is False:
            os.makedirs(savedir)
        ding = _500d_ppt(initUrl, page, savedir)
        ding.run()

    # 结束时间
    endtime = datetime.datetime.now()
    print("程序耗时: ", endtime - starttime)

法律AI工具选型:Kimi Work与WorkBuddy的核心差异与应用场景对比 在数字化转型浪潮中,人工智能技术正深刻改变传统行业的工作模式。其核心原理在于通过机器学习与自然语言处理,赋予机器理解、分析和生成人类语言的能力,从而自动化处理海量信息。这一技术价值在于显著提升工作效率、降低人为错误,并释放人力以专注于更高价值的创造性工作。在工程实践领域,AI Agent(智能体)与大型语言模型(LLM)是两种关键实现路径。AI Agent通过编排预定义技能与工作流,擅长执行标准化、可重复的自动化任务;而LLM则凭借强大的上下文理解和生成能力,更适用于处理非结构化、探索性的复杂分析。在法律这 阅读详情

相关推荐

数据社区即服务:数据从业者的职业操作系统

数据社区已超越传统学习交流平台,演变为支撑职业成长的基础设施。其本质是融合知识沉淀、协作验证与能力背书的‘职业操作系统’,依托基础层(异步讨论+代码协同)、协议层(结构化提问/贡献规则)和应用层(问题-人才-落地闭环)三层架构,解决方向模糊、信任缺失、场景匮乏三大核心痛点。尤其在MLOps、dbt、Kaggle等真实技术生态中,社区行为(如高质量Issue、可复现Notebook、开源PR)正成为比证书更可信的能力凭证。对转行者与初级工程师而言,系统性参与数据社区,是低成本获取生产级经验、构建可验证履历、对

392

python爬虫案例 word_python操作word文档实战(一)

一.python-docx这是一个很强大的包,可以用来创建docx文档,包含段落、分页符、表格、图片、标题、样式等几乎所有的word文档中能常用的功能都包含了,这个包的主要功能便是用来创建文档,相对来说用来修改功能不是很强大。安装pipinstallpython-docx新建文档fromdocximportDocumentdocument=Document()添加段落fromdoc...

weixin_39599097的博客 459

Mythos模型技术解析:三层解耦架构与对抗性自我蒸馏

大语言模型在安全分析与代码理解领域的演进,正从单阶段推理迈向多层协同的认知系统。Mythos代表了一种新型AI范式:通过神谕层(Oracle)、匠人层(Artificer)和织网层(Weaver)的严格解耦,实现漏洞分析、exploit构造与上下文记忆的职责分离;其核心训练方法——对抗性自我蒸馏,以教师模型初筛、反向验证器诘问、多轮逻辑加固为闭环,显著提升推理链完整性与可验证性。该技术路径不仅重塑了SWE-bench等代码基准的评估意义,更对软件供应链安全、零日漏洞响应机制及AI对齐工程提出全新挑战。本文深

weixin_33743248的博客 295

五百丁-ppt模板-创业融资-top45 下载

更新时间 2019年3月15日 五百丁首页 下载截图 下载地址

billycoder的专栏 415

机器学习数据需求评估:质量、分布与场景匹配比数量更重要

在机器学习工程实践中,‘需要多少训练数据’本质是模型能否解决真实业务问题的技术可行性判断。其核心不在于数据总量,而在于数据质量、任务类型、领域复杂度与线上分布的一致性。高质量标注、覆盖关键长尾场景、匹配产线物理环境的数据,往往以十分之一的规模实现超越海量低质数据的效果。本文结合医疗影像、工业质检等六大领域37个落地项目经验,解析数据价值密度、四维评估坐标系及最小可行数据集(MVDS)方法论,为算法工程师和AI产品经理提供可执行、可验证的数据需求估算路径。

dieyuqi2955的博客 479

Python小工具爬取PPT模板.zip

Python小工具爬取PPT模板.zip 如果不能直接运行,安装Python环境.... 下载的PPT目录在 D盘的 pptdown 文件夹下..

python爬ppt和风景_Python小工具爬取PPT模板

报错,求楼主解决,谢谢D:\pptdown目录已存在Traceback (most recent call last):File "site-packages\urllib3\connectionpool.py", line 426, in _make_requestFile "", line 3, in raise_fromFile "site-packages\urllib3\connecti...

weixin_39588206的博客 244

Python小工具爬取PPT模板

学习使用,大佬勿喷

python爬取五百丁word模板(有图+有代码)

更新时间 2019年3月15日 五百丁首页 爬取效果 python代码 # -*-coding:utf-8-*- import datetime import json import os import threading import time import traceback from queue import Queue import requests from lxml impo...

billycoder的专栏 1001

五百丁ppt模板-创业融资-15份-2.zip

五百丁ppt模板-创业融资-15份-2.zip

网络爬虫论文答辩PPT课件

网络爬虫论文答辩,网络爬虫论文答辩课件,网络爬虫论文答辩PPT

最难毕业季,会Python简直可以开挂!

上半年,“史上最多毕业生1076万”冲上热搜,阅读量达4.6亿次,众多应届大学生感叹想要成为打工人竟如此艰难!不仅如此,前几天上线的《怎么办,脱口秀大会》中,知名辩手、武汉大学新闻与传播学院讲师陈铭提到:截止到3月份,一个985/211院校的新闻传播学院,应届硕士毕业生的三方签约率仅为36%左右,而在往年同期,都是99%以上。残酷的竞争、行业的变化、疫情的冲刷等因素叠加,让史上最多毕业生之年,或成为史上最残酷的求职季。22届毕业生就业困难已成定局,现在的毕业大学生,急需要一个高效且高薪的技能来提升自己!

2301_76161259的博客 210

(35)远程识别(又称无人机识别)(一)

Ardupilot官网关于《Peripheral Hardware》的翻译 —《(35) 远程识别(又称无人机识别)》。

无人机开发(开源Ardupilot) 4万+

我,大二,学习期间用Python兼职赚了9000元

熬了大半年,转眼间就到年末了。你今年都赚了多少钱了呢?是不是吃喝玩乐之后就没剩什么了?在小红书种草的好货,被室友们安利回头立马去拼夕夕,搜些平价的替代品诗和远方想想就好看完机票酒店,还是决定窝在沙发最最最离谱的是,明明也没怎么花钱但支付宝莫名其妙就空了QAQ遇到这种资金周转难题,也只能厚着脸皮向亲爱的父皇母后大人求助些生活费了。我表弟阿华不仅天天去校外潇洒,还换了iPhone13使劲显摆,大学生活过的可真潇洒!前些日子,跟他唠了唠嗑,才知道,原来。

xiaoganbuaiuk的博客 948

论文精读——A Comprehensive Survey of Continual Learning: Theory, Method and Application

为了应对现实世界的动态性,智能系统需要在其整个生命周期中逐步获取、更新、积累并利用知识。这种能力被称为Continue Learning(持续学习)。从广义上讲,持续学习明显受到catastrophic forgetting(灾难性遗忘)的限制,即学习新任务通常会导致旧任务的性能急剧下降。Continue Learning的核心目的有二,其一为(稳定性与可塑性间的权衡),其二为(足够的任务内/任务间泛化能力)。

xsddys的博客 1241

STM32 BLDC无刷电机霍尔信号捕获与换相控制实战解析

本文深入解析了STM32如何实现BLDC无刷电机的霍尔信号捕获与换相控制。详细阐述了硬件接口配置、定时器霍尔传感器模式的使用、抗干扰的滤波器与软件容错设计,以及中断服务与换相逻辑的实战代码。重点解决了信号抖动、换相不准等常见问题,旨在帮助开发者构建稳定可靠的电机驱动基础。

weixin_29193259的博客 370

Python接单实战指南:从数据分析到Web开发的技术变现路径

Python作为一门通用编程语言,其核心价值在于通过简洁的语法和丰富的库生态,将复杂问题自动化。其工作原理是通过解释器执行脚本,调用各类库函数处理数据、网络请求或业务逻辑。在技术价值层面,Python能显著提升工作效率,将重复性劳动转化为可复用的代码资产,降低人力成本。应用场景广泛覆盖数据分析、办公自动化、网络爬虫、Web开发及机器学习等领域,尤其适合解决中小型数字化任务。本文聚焦于Python技术变现,系统拆解了如何利用数据分析与网络爬虫等热词相关技能,将编程能力转化为实际收入,涵盖从需求挖掘、环境搭建、

weixin_33901926的博客 395

HDRP shader 获取阴影(Custom Pass)

Unity:2021.3.0f1 HDRP:12.1.6

LanQ的博客 2099

抖音TikTok数据采集免费方案:DouK-Downloader从下载到分析的完整上手指南

你有没有遇到过这种时刻:刷到一个创作者,作品全是你喜欢的风格,想把他的视频都存下来慢慢看,结果发现只能一个视频一个视频地点开、保存,五百个作品就要重复五百次操作?或者你是做内容运营的,需要定期采集竞品账号的评论数据来分析用户喜好,手动复制粘贴到凌晨?再或者你是个开发者,想把某类视频的下载能力集成进自己的系统,却发现平台接口全都加密、无从下手? 这些问题,DouK-Downloader 一个开源项

gitblog_00787的博客 1039

Spring Boot应用Docker化实战:从Dockerfile编写到镜像推送完整流程

本文详细介绍了将Spring Boot应用Docker化的完整实战流程。从环境准备、项目审视,到编写高效且安全的Dockerfile,重点讲解了多阶段构建、镜像层优化、Spring Boot分层JAR等核心技巧,并涵盖了镜像构建、验证、调试以及最终推送至仓库并集成CI/CD的最佳实践,帮助开发者构建生产级Docker镜像。

butter的博客 1023

树莓派 RP2350B 开发环境搭建

本文介绍了树莓派RP2350B开发环境的搭建过程。

张一西的博客 287

数学建模竞赛:从问题定义到工程实现的系统性实战指南

数学建模是将现实世界复杂问题抽象为数学形式,并通过计算求解以指导决策的关键技术。其核心原理在于通过合理的假设与简化,构建反映问题本质的数学模型,进而运用数值计算、优化算法或仿真模拟等方法进行求解。这一过程的技术价值在于,它架起了理论数学与工程实践之间的桥梁,是培养系统思维和解决复杂问题能力的重要途径。在工程优化、金融分析、资源调度及预测预警等广泛场景中,数学建模都发挥着基石性作用。本文聚焦于数学建模竞赛这一高强度实践场景,深入探讨如何将开放的赛题进行有效的“问题产品化”定义,并构建高效的跨职能团队协作流程。

weixin_30632883的博客 355

【2026年米哈游春招 - 3月14日 -第一题- 行列相等】(题目+思路+Java&C++&Python解析+在线测试)

摘要 本文解决了一个矩阵行列和匹配问题:统计矩阵中行和等于列和的所有行列对数量。算法首先计算每行和每列的元素和,然后利用哈希表统计各行列和的出现次数。通过遍历列和并查询对应的行和出现次数,高效计算出匹配对数。该方法时间复杂度为O(nm),空间复杂度为O(n+m),适用于大规模矩阵数据。代码实现了Python、Java和C++版本,通过哈希表优化避免了暴力枚举,显著提高了计算效率。

m0_73659489的博客 83

股票投资中如何区分波动与趋势事件

在金融投资领域,波动与趋势判断是核心决策能力。波动指由短期因素引发的价格震荡,通常由单一事件触发且估值影响有限;趋势则是基本面质变引发的方向性运动,往往伴随资金流持续验证和估值体系重构。准确区分二者对投资组合管理至关重要,能有效避免误判导致的超额损失。通过监测机构资金流向、行业联动效应和技术面突破等信号,投资者可以建立科学决策框架。实战中结合DCF估值模型、RSI超卖指标和北向资金动向等工具,可提升对市场噪音与真实信号的识别能力。本文提供的评估清单和仓位调整策略,已在新能源、消费等板块的实战检验中展现价值。

weixin_30723433的博客 419

YOLOv8 超参数调优教程! 使用Ray Tune进行高效的超参数调优!

YOLOv8超参数调优教程!😎 使用Ray Tune进行高效的超参数调优!

Coding... 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

基于随机森林与Django的母婴电商销量预测系统构建

在电商数据分析中,销量预测是连接数据采集与业务决策的关键环节。其核心原理在于从历史订单中提取规律,并借助机器学习模型进行回归拟合。随机森林回归算法通过集成多棵决策树,能够有效处理价格、促销、类目等多维特征,适应母婴用品这类存在季节波动与非线性关系的销售场景。而 Django 框架则为数据存储、后台管理与可视化提供工程化支撑,使爬虫获取或模拟生成的数据能够形成完整的处理闭环。从技术价值看,这类系统不仅展示算法能力,更强调数据治理、特征工程与模型部署的协同。在实际应用中,它可服务于促销规划、库存调拨与选品决策。

weixin_33889245的博客 452

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 五百丁-ppt模板-创业融资-top45 下载
下一篇: python爬取五百丁word模板(有图+有代码)
billycoder
博客等级 码龄17年 171粉丝 188原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值