万门大学视频爬取

本文介绍了一个Python脚本,用于爬取万门大学的课程内容,包括视频(M3U8格式)和文档(如PDF),并支持文件完整性检查和多线程下载。脚本通过`requests`,`json`,和第三方库如`aria2c`实现功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import requests,sys,json,os,argparse
import time
requests.packages.urllib3.disable_warnings()
'''
###########################################################################
v1.1:
1、增加课件下载功能(需安装配置aria2c)
2、增加校验文件完整性功能
3、参数化

v1.0:
初步完成!
###########################################################################
'''
def getCoursesJson(coursesID):
	# coursesID为课程id
	if args.cour_lect:
		args.coursesName,args.lectureID=args.cour_lect.split('_')
		with open(f'{args.savePath}/{args.coursesName}.json','r',encoding='UTF-8') as f:
			result=json.loads(f.read())
	else:
		resp=requests.get(f'https://api.wanmen.org/4.0/content/courses/{coursesID}',headers=args.head,verify=False)
		try:
			result=resp.json()
		except:
			print('getCoursesJson 获取CoursesJson失败!,返回的不是json数据:',resp.text)
			sys.exit()
	args.coursesName=result["name"]
	savePath=os.path.join(args.savePath,args.coursesName)
	myMkdir(savePath)
	with open(f'{savePath}/{result["name"]}.json','w',encoding='UTF-8') as f:json.dump(result,f,ensure_ascii=False)
	return savePath,result

def myMkdir(name):
	if not os.path.exists(name):
		try:os.mkdir(name)
		exc
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值