本文最后更新于 2020 年 3 月 8 日,文章已超过 6 个月!内容可能已失效,请自行测试 ~

中国石油大学(北京)是一所石油特色鲜明、以工为主、多学科协调发展的教育部直属的全国重点大学,是设有研究生院的高校之一。1997年,学校首批进入国家“211工程”建设高校行列;2006年,成为国家“优势学科创新平台”项目建设高校。2017年,学校进入国家一流学科建设高校行列,全面开启建设中国特色世界一流大学的新征程。经过60多年的建设发展,学校形成了石油特色鲜明,以工为主、多学科协调发展的学科专业布局。石油石化等重点学科处于国内领先地位,并在国际上形成了一定影响。学校的化学、工程学、材料科学和地球科学4个学科进入ESI排行前1%。“十二五”期间,学校共承担国家级科研项目354项,获得国家科技奖22项;获得省部级及社会力量科技奖共270项。国家级奖励数在2014年、2015年全国高校通用项目中均排名第十。

以下为脚本内容:

#!/bin/bash
#	--------------------------	#
#	北京石油大学自动刷取视频时间	#
#	编写时间: 2019.05.17 		#
#   编写人: admin@ym68.cc 		#
#	--------------------------	#
#取Cookie值
read -p 'Cookie: ' Cupde_Cookie
login (){
	#常用curl提交格式/-s:不显示状态栏/-H:header值/-d:提交内容
	curl -s -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36' -H "Cookie: ${Cupde_Cookie}" $1
}

#获取课程列表
Cupde_Http=$(login http://www.cupde.cn/entity/workspaceStudent/student_stuCourseList.action?type=learning)
#获取列表行数
Cupde_Title_Wc=$(echo "${Cupde_Http}"|sed -n 's#.*<td.*48">\(.*\)</td>#\1#p'|wc -l)
#课程名
if [ "${Cupde_Title_Wc}" = '0' ];then
	echo "Cookie错误请检查!"
else
	for num in $(seq 1 ${Cupde_Title_Wc})
	do
		#取课程ID
		Cupde_Course_Ids=$(echo "${Cupde_Http}"|sed -n "s#.*onclick=\"autoElectiveCourse('\(.*\)','0','.*#\1#p")
		#取选择的序号内容
		Cupde_Course_Id=$(echo "$Cupde_Course_Ids"|sed -n "${num}"p)
		#获取视频ID
		Cupde_Video_Get=$(login "http://www.cupde.cn/learning//entity/first/peTchCoursewareItem_toMode.action?course_id=${Cupde_Course_Id}&isNewSemester=0" |grep -v 'COMPLETED'|sed -n "s#.*hidden.*id='\(.*\)status.*#\1#p")
		if [ -z "${Cupde_Video_Get}" ];then
			echo -e "\033[31m${Cupde_Course_Id}:暂无可提交视频!\033[0m"
		else
			for video_id in ${Cupde_Video_Get}
			do
				#提交视频记录
				login "http://www.cupde.cn/learning/entity/scorm/lmsScorm_doPost.action?d=0.03795719536580622&command=setSCOID&flag=1&SCOID=${video_id}"
				#更新视频时间,dmeValue可修改
				Date_Put=$(login 'http://www.cupde.cn/learning/entity/scorm/lmsScorm_doPost.action?d=0.9844633259627338&command=putdata&dmeID=cmi.core.student_id&dmeValue='${video_id}'&dmeID=cmi.core.student_name&dmeValue=&dmeID=cmi.core.lesson_location&dmeValue=0&dmeID=cmi.core.credit&dmeValue=&dmeID=cmi.core.lesson_status&dmeValue=completed&dmeID=cmi.core.entry&dmeValue=&dmeID=cmi.core.total_time&dmeValue=99:26:09&dmeID=cmi.core.lesson_mode&dmeValue=&dmeID=cmi.core.exit&dmeValue=&dmeID=cmi.core.session_time&dmeValue=00:00:13&dmeID=cmi.core.score.raw&dmeValue=&dmeID=cmi.core.score.min&dmeValue=&dmeID=cmi.core.score.max&dmeValue=&dmeID=cmi.core.uncommit_time&dmeValue=&dmeID=cmi.comments&dmeValue=&dmeID=cmi.launch_data&dmeValue=&dmeID=cmi.suspend_data&dmeValue=')
				if [ "${Date_Put}" = "SUCCESS" ];then
					echo -e "\033[32m${video_id}提交成功:${Date_Put}!\033[0m"
				else
					echo -e "\033[31m${video_id}提交失败:${Date_Put}!\033[0m"
				fi
			done
		fi
	done
fi

该文章采用「CC 协议」,转载必须注明作者和本文链接.
分类: Linux