import requests
from lxml import etree
def mkdir(path):
import os
path = path.strip()
path = path.rstrip('\\')
isExists = os.path.exists(path)
if not isExists:
os.makedirs(path)
print(path + '创建成功')
return True
else:
print('目录已存在')
return False
def get_cid():
url = 'http://www.leleketang.com/let3/knowledges.php?grade_id=30'
html = requests.get(url).text
e = etree.HTML(html)
global folders
folders = e.xpath('//div[@class="cal_name"]/a[@data-step=0]/text()')[::-1]
for folder in folders:
mkdir(f'D:/乐乐课堂视频/{folder}')
return e.xpath('//div[@class="cal_name"]/a[@data-step=0]/@data-cid')[::-1]
def download(url, fp, name):
res = requests.get(url).content
with open(fp + f'/{name}.mp4', 'wb') as f:
f.write(res)
if __name__ == '__main__':
max_page = 0
for k, cid in enumerate(get_cid()):
p = 1
while 1:
url = f'http://www.leleketang.com/let3/knowledge_list.php'
params = {
'cid': cid,
'p': p,
}
res = requests.get(url, params=params).text
e = etree.HTML(res)
if p == 1:
page_list = e.xpath('//a[@class="p_normal"]/text()')
if page_list:
max_page = int(page_list[-1])
# 每一页视频名字、链接列表
names = e.xpath('//div[@class="knowledge_info"]/div/text()')
urls = e.xpath('//div[@class="knowledge_btns"]/div/@data-video')
for j, url in enumerate(urls):
download(url, f'D:/乐乐课堂视频/{folders[k]}', names[j])
print(f'{names[j]} 已下载完成!')
print('-------------------------------------')
print(f'第{p}页下载完成!\n')
print('-------------------------------------')
p += 1
if not max_page or p > max_page:
break
乐乐课堂视频(高中数学)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在数学学习上,很多高一的学生都会遇见下面几个问题: 1、高一新生大都自我感觉良好,认为自己的学习方法是成功的。自己...