70行Python代码,获取中国数据库大会(DTCC)全部PPT

Posted 明月十四桥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了70行Python代码,获取中国数据库大会(DTCC)全部PPT相关的知识,希望对你有一定的参考价值。

大家好,我是明月十四桥!

擅长领域:python黑科技、大数据后端研发、数据仓库

今日重点

   ① 学会使用python 获取各种网站的ppt,可见即可爬;

   ② 中国数据库大会一年一届,门票昂贵,干货满满,文末资料包值得深入学习。

呕心沥血,白天工作,晚上写文,建议收藏+实操!!!有问题欢迎评论,或加微信咨询

 

【中国数据库大会】

中国数据库大会秉承一贯的干货分享和实践指导原则,历经十年的积累与沉淀,如今的DTCC已然成为国内数据库领域的技术风向标,见证了整个行业的发展与演变

2020年12月21日~12月23日,由 IT168 旗下 ITPUB 企业社区平台主办的第十一届中国数据库技术大会(DTCC2020),将在北京隆重召开。大会以“架构革新 高效可控”为主题,设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

 

【小编动机】

官方只提供了预览的方式,无法完美的欣赏这么干货满满、制作精良的ppt。

对于求知欲强烈的桥哥来说简直太难受了,于是便写了个程序,一键获取所有ppt,并送给可爱的粉丝们。

 

中国数据库大会链接http://dtcc.it168.com/

涉及技术:数据架构、大数据、数据库、云、数据治理

【下载代码

软件环境:python 3

# encoding: utf-8
from bs4 import BeautifulSoup
import requests
from urllib.request import urlopen
import re
import json


def visit(url):
    headers = {
        "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)",
        "accept": "application/json, text/javascript, */*; q=0.01",
        "accept-encoding": "gzip, deflate, br",
        "accept-language": "zh-CN,zh;q=0.9",
        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
        "cookie": "",  -- 填自己的
        "referer": "",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "same-origin",
    }

    res = requests.get(url,headers=headers)
    bsObj = BeautifulSoup(res.text, "html.parser")
    return bsObj


def visit_homepage(url):
    bsObj = visit(url)
    content = bsObj.find('div', class_="content")
    content_list = content.select("p")

    category = []
    for i in range(4,len(content_list)):
        try:
            urls = content_list[i].a['href']
            name = content_list[i].get_text("|").split("|")[0].replace(' ','').replace('\\xa0','')
            category.append([name,urls])
        except:
            pass
    print(category)
    return category


def download_pdf(conf,path):
    category_name = conf[0]
    category_url = conf[1]
    bsObj = visit(category_url)

    res = re.search(r'(.*)token:(.*?),',str(bsObj) ,re.M|re.I)
    token = res.group(2).replace('"','').replace(' ','')

    arts = re.findall(r'(.*)li data-docinfo=(.*?)}',str(bsObj) ,re.M|re.I)
    for art in arts:
        art_str = "{"+str(art).split('{')[1].replace("')","}")
        art_dic = json.loads(art_str)
        id = art_dic['id']
        name = art_dic['name']
        download_url = "https://api.z.itpub.net/download/file?st-usertoken=%s&id=%s"%(token,str(id))
        print(download_url)
        data = urlopen(download_url).read()
        with open(path+category_name+'__'+name, 'wb') as f:
            f.write(data)
            print("finish download  ")


if __name__ == '__main__':
    homepage = "https://z.itpub.net/article/detail/5260C494873379BAA63BAB7C5CBD7A95"
    path = "/Users/xxx/Downloads/DTCC/"

    # download
    category = visit_homepage(homepage)
    for i in category:
        download_pdf(i,path)

 

【效果展示】

 

【下载方法】

桥哥为大家提供了两种获取ppt的方式:

1、python爬虫获取

需进行这两步操作:

(1)cookie换成自己的

          获取cookie办法:打开开发者模式(windows F12,mac opt+command+i) 打开开发者模式,访问:homepage,network里面有cookie。

(2)修改path为自己的目录

ps.注意不要频繁访问该网站,给对方网站造成压力!!

 

2、网盘下载

桥哥也把ppt放在了csdn网盘,下载链接:

链接:  https://download.csdn.net/download/weixin_39032019/19147554

 

我是桥哥,专注分享大数据知识体系 & Python黑科技。

求点赞、求评论、求收藏!!

 


CSDN官方学习推荐 ↓ ↓ ↓

为了帮助更多小白从零进阶,从CSDN官方那边搞来了一套 《Python 工程师学习成长知识图谱》,尺寸 870mm x 560mm,展开后有一张办公桌大小,也可以折叠成一本书的尺寸,有兴趣的小伙伴可以了解一下,当然,不管怎样博主的文章一直都是免费的~

 


【推荐阅读】

数据仓库专栏:数仓方法论、实战经验、面试真题 >> https://blog.csdn.net/weixin_39032019/category_8871528.html

Python专栏:Python黑科技:爬虫、算法、小工具 >> https://blog.csdn.net/weixin_39032019/category_8974792.html

大数据集锦专栏:面试真题、开发经验、调优策略  >> https://blog.csdn.net/weixin_39032019/category_11048805.html

以上是关于70行Python代码,获取中国数据库大会(DTCC)全部PPT的主要内容,如果未能解决你的问题,请参考以下文章

庆祝新中国成立70周年,项目管理人员观看阅兵仪式

活动 | GreatSQL社区亮相2023 DTC 分享开源技术成果实践

华为云GaussDB新产品特性亮相DTC2021,新品开源预告

打破中国企业类软件成长的怪圈,我找到了方法!

Python 70行代码实现简单算式计算器

DTC服务启动提示:“Windows不能在本地计算机启动Distributed Transaction Coordinator。有关更多