目錄
背景
效果展示
程式下載下傳
網盤下載下傳
背景
前幾天中國資料庫大會風風火火的在京舉行了,期間幹貨滿滿,收獲良多。在學大佬們的ppt時,發現隻能一篇一篇預覽,對于求知欲強烈的小編來說簡直太難受了,于是便寫了個程式,一鍵擷取所有ppt。
2020年12月21日~12月23日,由 IT168 旗下 ITPUB 企業社群平台主辦的第十一屆中國資料庫技術大會(DTCC2020),将在北京隆重召開。大會以“架構革新 高效可控”為主題,設定2大主會場,20+技術專場,将邀請超百位行業專家,重點圍繞資料架構、AI與大資料、傳統企業資料庫實踐和國産開源資料庫等内容展開分享和探讨,為廣大資料領域從業人士提供一場年度盛會和交流平台。
曆經十年的積累與沉澱,如今的DTCC已然成為國内資料庫領域的技術風向标,見證了整個行業的發展與演變。作為頂級的資料領域技術盛會,DTCC2020将繼續秉承一貫的幹貨分享和實踐指導原則,期待大家的熱情參與!
中國資料庫大會連結: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)
程式下載下傳
1、cookie換成自己的
擷取cookie辦法:打開開發者模式(windows F12,mac opt+command+i) 打開開發者模式,通路:homepage,network裡面有cookie
2、修改path為自己的目錄