作者:admin | 分类:btc | 浏览:64 | 评论:
'isAllowDownLoad': False, 'categoryName': '视频',。
'studyStatus': 0}, 'ResId': '', 'percent': 0。
cookies=cookies)result = json.loads(result.text)return result['courseCell']# 6.开始刷课---------[url=https://mooc.icve.com.cn/study/learn/statStuProcessCellLogAndTimeLong?courseOpenId=wylwaxasdyjptaswj67x6gcellId=qotwaxastizp0ktzqcnjgauvideoLength=487videoTimeTotalLong=487]https://mooc.icve.com.cn/study/learn/statStuProcessCellLogAndTimeLong?courseOpenId=wylwaxasdyjptaswj67x6gcellId=qotwaxastizp0ktzqcnjgauvideoLength=487videoTimeTotalLong=487[/url]def statStuProcessCellLogAndTimeLong(cookies, 'PlayType': 0, 'name': '3.泡茶操作规范', 'externalLinkUrl': '', 'NewSortOrder': 0, 'cellType': 1。
'ParentId': 'qc6vagosly1owrpgpu6rg', 'percent': 0, 'isAllowDownLoad': False。
'resourceUrl': ''。
不刷课-------)continue# 拿课程信息info = viewDirectory(cookies=cookies,'auvideoLength': videoTimeTotalLong, 'isStudyFinish': False, cookies=code_cookies)json_result = json.loads(result.text)if json_result['code'] == 1 and json_result['msg'] == 登录成功:return result.cookieselse:print(json_result['msg'])return 0# 1.获取所有课程, 'courseOpenId': 'wylwaxasdyjptaswj67x6g', 'ModuleType': 1, cellId=n['Id'])# 将信息拿去刷课if not n['categoryName'] == 视频 and not n['categoryName'] == 音频:# 如果不是视频或者音频isOK = statStuProcessCellLogAndTimeLong(cookies=cookies, 'categoryName': '子节点'。
'upTopicId': '0', 'cellContent': ''。
'cellContent': 'doc/g@55633CAC7D22C7247E99B7D650010E7D.swf', {'Id': 'qotwaxasfj5jphzi8yiooq', {'id': 'q4twaxastoradnurwvdxq', 'childNodeList': [{'Id': 'qotwaxasp4vae7z3zcwqua'。
videoTimeTotalLong=0)# 四级目录(最终)else:# 是视频或者音频isOK = statStuProcessCellLogAndTimeLong(cookies=cookies, headers=headers)with open(moocCode.jpg, 'isLastStudy': False, 'name': '1.茶艺服务礼仪训练', {'id': 'q4twaxasv7zer5q5cks8gg', 'isStudyFinish': False, 'parentId': 'pytwaxasupbiajdwbddwaw', 'resId': '', 'ResId': '', 'cellContent': 'doc/g@66FFBBA9CB37B03D4245418690E54815.swf', headers=headers, 'sortOrder': 4, topicId):'''获得三级目录(详细信息):param cookies: cookies:param courseId: courseOpenId:param topicId: topicId:return: [{'Id': 'qytwaxaso6hhfh3x0dnbw', 'isUnlock': True}。
courseOpenId=info['CourseOpenId'], 'KnowledgeIds': ''。
'resourceUrl': 'doc/g@AA759F5E1EE1978FD760C403B17EF08C.mp4'。
'percent': 40, 'SpaceCount': 0, headers=headers,'topicId': topicId}result = json.loads(requests.post(url=url, 'ModuleType': 1, 'cellName': '茶艺师的仪容仪表要求','cellId': cellId。
'name': '4.茶叶认识', 'sortOrder': 5, {'id': 'qotwaxasf7tahcyr6kd8wa'。
courseId, 'courseOpenId': 'wylwaxasdyjptaswj67x6g', 'resId': '', 'name': '6.茶文化解读', 'isUnlock': True}]for j in moduleList1:time.sleep(0.25)print(\t + j['name'])# 二级目录moduleList2 = getTopicByModuleId(cookies=cookies,text:茶艺与茶文化_第四次开课}]'''url = https://mooc.icve.com.cn/portal/course/getCourseOpenListresult = json.loads(requests.post(url=url, 'VideoQuestionCount': 0。
password):cookies = login(name=name, courseId=i['id']。
'upCellId': '0', 'cellType': 1。
'cellName': '茶艺师的仪态', 'isUnlock': True}, headers=headers, courseId):'''得到一级目录:param cookies: cookies:param courseId: gtjkawksy5jf7raso8gdq:return: [{'id': 'oitwaxas05rp25uktqp8a', 'categoryName': '作业', 'GreenScanScene': '', 'ResId': '', 'upCellId': 'qotwaxasp4vae7z3zcwqua', 'CellType': 1, 'cellName': '1.茶艺服务人员的妆容仪表要求', courseId=i['id'],请输入)data = {'userName': name,'password': password, {'id': 'qotwaxasf7tahcyr6kd8wa', 'isUnlock': True}, 'name': '5.泡茶规范与技术', 'ModuleType': 1, 'ResId': '', courseOpenId=n['courseOpenId'], {'id': 'ritwaxashqlasilv5ziiew', 'isAllowDownLoad': False, topicId=k['id'])for m in moduleList3:time.sleep(0.25)print(\t\t\t + m['cellName'])# 如果只有三级目录if not len(m['childNodeList']):# =================================================================================================================================# 如果课程完成-不刷课if m['isStudyFinish'] is True:print(\t\t\t\t + m['cellName'] + \t类型: + m['categoryName'] + \t\t------课程完成, 'isStudyFinish': True, 'ModuleType': 1。
'studyStatus': 0}]'''url = https://mooc.icve.com.cn/study/learn/getTopicByModuleIddata = {'courseOpenId': courseId, 'externalLinkUrl': '', cookies=cookies).text)return resultdef start(name, data=data。
'PageCount': 8, {'id': 'qotwaxasyjbjd0mnjgxz1w', 'externalLinkUrl': '', 'cellType': 6。
'upCellId': 'qotwaxasy4hpjggnawg'。
cellId=info['Id'], 'resId': '3ixwaxasu41ocvxkwprlxa', 'percent': 40, 'FromType': 2,isStudy:true}'''time.sleep(1.5)url = https://mooc.icve.com.cn/study/learn/statStuProcessCellLogAndTimeLongdata = {'courseOpenId': courseOpenId。
'cellName': '2.茶艺服务人员的仪态要求'。
'ResId': '', 'cellContent': '',cellId=info['Id']。
'sortOrder': 2。
'percent': 0, {'Id': 'qotwaxasvrbgva1hlhnjuw', headers=headers, 'isUnlock': True}。
cellId=m['Id'])# 将信息拿去刷课if not m['categoryName'] == 视频 and not m['categoryName'] == 音频:# 如果不是视频或者音频isOK = statStuProcessCellLogAndTimeLong(cookies=cookies, 'isUnlock': True}。
'cellType': 6。
'courseOpenId': 'wylwaxasdyjptaswj67x6g', {'Id': 'qotwaxasty1k8hfv4hrwmg', 'isUnlock': True}, 'cellContent': 'doc/g@AA759F5E1EE1978FD760C403B17EF08C.mp4', 'sortOrder': 4。
'topicId': 'pytwaxasupbiajdwbddwaw', 'ModuleType': 1, 'ResId': '', 'isAllowDownLoad': False, 'percent': 0。
'FromMOOCCellId': ''。
拿到cookie------[url=https://mooc.icve.com.cn/portal/LoginMooc/loginSystem]https://mooc.icve.com.cn/portal/LoginMooc/loginSystem[/url]def login(name, {'id': 'q4twaxasv7zer5q5cks8gg', 'parentId': 'qytwaxaso6hhfh3x0dnbw', headers=headers, 'isStudyFinish': False, 'isUnlock': True}], 'sortOrder': 2, 'sortOrder': 1,'moduleId': moduleId}result = json.loads(requests.post(url=url, [Python] 纯文本查看 复制代码 # -*- coding: utf-8 -*-# [url=home.php?mod=spaceuid=238618]@Time[/url] : 2020/12/26 15:17# [url=home.php?mod=spaceuid=686208]@AuThor[/url] : Melon# [url=home.php?mod=spaceuid=406162]@site[/url] : # [url=home.php?mod=spaceuid=267492]@file[/url] : mooc.py# @Software: PyCharmimport timeimport requestsimport jsonfrom PIL import Imageheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML。
'cellName': '茶艺服务人员的仪容仪表要求', password=password) , data=data, 'resId': '', 'resourceUrl': 'doc/g@55633CAC7D22C7247E99B7D650010E7D.swf', 'isAllowDownLoad': False, 'isAllowDownLoad': False, data=data。
'isUnlock': True}, 'cellContent': 'doc/g@F35D826F1BAAA3B655096B7E19435948.mp4', 'isUnlock': True}。
courseId,cellId=info['Id']。
'cellType': 4, 'DocId': 'cbwagosz7nmuxz8cxclg', 'percent': 0, 'TableName': 'MOOC_CourseProcessCell'}'''time.sleep(1)url = https://mooc.icve.com.cn/study/learn/viewDirectorydata = {'courseOpenId': courseOpenId, 'isStudyFinish': False, 'isStudyFinish': True, 'externalLinkUrl': '', password=password) # 得到cookies用于后续登录course = getCourseOpenList(cookies) # 得到课程 [{'id': 'gtjkawksy5jf7raso8gdq', 'ResId': '', cellId):'''拿到学习时长等信息:param cookies: cookies:param courseOpenId: courseOpenId:param cellId: cellId:return: {'Id': 'cbwagosnyjooghaevg6fw', 'sortOrder': 1, 'categoryName': 'swf', 'ResId': '', {'id': 'ritwaxashqlasilv5ziiew', {'id': 'q4twaxastoradnurwvdxq', videoTimeTotalLong):'''开始刷课:param cookies: cookies:param courseOpenId: courseOpenId:param cellId: cellId:param videoTimeTotalLong: videoTimeTotalLong:return: {code:1, 'cellType': 4, 'upCellId': 'qotwaxasvrbejkntkxphtw',开始打开验证码)img = Image.open(moocCode.jpg)img.show()print(----------验证码打开完成, 'sortOrder': 1。
'percent': 0,'verifycode': input(输入验证码:)}result = requests.post(url=loginUrl, data=data。
拿到id--------[url=https://mooc.icve.com.cn/portal/course/getCourseOpenList]https://mooc.icve.com.cn/portal/course/getCourseOpenList[/url]def getCourseOpenList(cookies):'''获取所有课程:param cookies: cookies:return: [{id:wylwaxasdyjptaswj67x6g, 'isUnlock': True}], moduleId=j['id'])for k in moduleList2:time.sleep(0.25)print(\t\t + k['name'])# 三级目录moduleList3 = getCellByTopicId(cookies=cookies, 'CellContent': None, 'isUnlock': True}, 'resId': ''。
'resourceUrl': 'doc/g@F35D826F1BAAA3B655096B7E19435948.mp4',videoTimeTotalLong=info['VideoTimeLong'])if isOK['code'] == 1 and isOK['isStudy'] is True:print(\t\t\t\t + m['cellName'] + \t类型: + m['categoryName'] + \t\t-----刷课OK----)else:print(\t\t\t\t + m['cellName'] + \t类型: + m['categoryName'] + \t\t-----ERROR----)else:# =================================================================================================================================for n in m['childNodeList']:time.sleep(0.5)# 如果课程完成-不刷课if n['isStudyFinish'] is True:print(\t\t\t\t + n['cellName'] + \t类型: + n['categoryName'] + \t\t------课程完成, 'isGJS': 1。
'isGJS': 1,'cellId': cellId}result = requests.post(url=url, 'ModuleType': 1, 'isGJS': 1。
'FromId': None, 'percent': 0。
'ModuleType': 1, headers=headers, courseOpenId, 'externalLinkUrl': '', 'courseOpenId': 'wylwaxasdyjptaswj67x6g', 'name': '2.茶具的认识与使用', moduleId):'''得到二级目录:param cookies: cookies:param courseId: courseOpenId:param moduleId: moduleId:return: [{'id': 'pytwaxasupbiajdwbddwaw', 'percent': 0, 'isUnlock': True}, 'resourceUrl': 'doc/g@66FFBBA9CB37B03D4245418690E54815.swf', cookies=cookies).text)return result['topicList']# 4.获得三级目录(详细信息)---------[url=https://mooc.icve.com.cn/study/learn/getCellByTopicId?courseOpenId=wylwaxasdyjptaswj67x6gtopicId=qotwaxasyjbjd0mnjgxz1w]https://mooc.icve.com.cn/study/learn/getCellByTopicId?courseOpenId=wylwaxasdyjptaswj67x6gtopicId=qotwaxasyjbjd0mnjgxz1w[/url]def getCellByTopicId(cookies, 'externalLinkUrl': '', 'topicId': 'pytwaxasupbiajdwbddwaw', data=data。
'cellContent': '', 'ResourceUrl': 'doc/g@85031789B2B47C2167D68CA0418D9FD3.pptx', 'isStudyFinish': True, 'name': '6.茶文化解读', {'Id': 'qotwaxasy4hpjggnawg', ) as f:f.write(codeResult.content)# 验证码的cookiescode_cookies = codeResult.cookiesprint(----------验证码获取完成, 'ModuleType': 1。
'SortOrder': 1, 'externalLinkUrl': ''。
'ResId': '', cellId。
cookies=cookies).text)return result['cellList']# 5.拿到学习时长等信息----------[url=https://mooc.icve.com.cn/study/learn/viewDirectory?courseOpenId=wylwaxasdyjptaswj67x6gcellId=qotwaxastizp0ktzqcnjg]https://mooc.icve.com.cn/study/learn/viewDirectory?courseOpenId=wylwaxasdyjptaswj67x6gcellId=qotwaxastizp0ktzqcnjg[/url]def viewDirectory(cookies。
'sortOrder': 2。
'resId': '3ixwaxasg5ba3ri5avr79a', 'cellName': '茶艺服务人员的仪态要求', 'name': '3.泡茶操作规范', 'isGJS': 1。
'categoryName': 'swf', 'DateCreated': '/Date(1603976559000)/', 'isUnlock': True}。
'ModuleType': 1, 'parentId': 'qytwaxaso6hhfh3x0dnbw', 'KnowledgeTitle': ''。
'isAllowDownLoad': False,cellId=info['Id'], 'sortOrder': 3。
'DocSize': 9023286, 'isUnlock': True}。
password):'''登录:param name: 用户名:param password: 密码:return: cookies'''# 验证码[url=https://mooc.icve.com.cn/portal/LoginMooc/getVerifyCode?ts=1608968080542]https://mooc.icve.com.cn/portal/LoginMooc/getVerifyCode?ts=1608968080542[/url]codeUrl = https://mooc.icve.com.cn/portal/LoginMooc/getVerifyCode?ts={}.format(int(round(time.time() * 1000)))loginUrl = https://mooc.icve.com.cn/portal/LoginMooc/loginSystemcodeResult = requests.post(url=codeUrl, 'ImpProjectId': '', 'parentId': 'qotwaxasfj5jphzi8yiooq', 'CourseOpenId': 'gtjkawksy5jf7raso8gdq', 'ExternalLinkUrl': None。
'GreenScan': 'pass', courseOpenId=m['courseOpenId'], headers=headers。
'upCellId': '-1', 'name': '5.泡茶规范与技术', 'isUnlock': True}, 'sortOrder': 1, 'name': '4.茶叶认识', 'percent': 0, courseOpenId, 'isLastStudy': False, 'parentId': 'qotwaxasfj5jphzi8yiooq', 'categoryName': '子节点', 'ModuleType': 1, 'IsAllowDownLoad': False, like Gecko) Chrome/87.0.4280.88 Safari/537.36',不刷课-------)continue# 拿课程信息info = viewDirectory(cookies=cookies, cookies=cookies).text)return result['proces']['moduleList']# 3.得到二级目录--------[url=https://mooc.icve.com.cn/study/learn/getTopicByModuleId?courseOpenId=wylwaxasdyjptaswj67x6gmoduleId=q4twaxasc7nbpxt8pmkjdw]https://mooc.icve.com.cn/study/learn/getTopicByModuleId?courseOpenId=wylwaxasdyjptaswj67x6gmoduleId=q4twaxasc7nbpxt8pmkjdw[/url]def getTopicByModuleId(cookies, 'cellName': '茶艺师的仪容仪表', 'TopicId': 'qc6vagosurpneukvl1nh1w',videoTimeTotalLong=info['VideoTimeLong'])if isOK['code'] == 1 and isOK['isStudy'] is True:print(\t\t\t\t + n['cellName'] + \t类型: + n['categoryName'] + \t\t-----刷课OK----)else:print(\t\t\t\t + n['cellName'] + \t类型: + n['categoryName'] + \t\t-----ERROR----)if __name__ == '__main__':# ====================== # 只需要填写name = 账号# 账号password = 密码 # 密码# ====================== # 然后运行。
'courseOpenId': 'wylwaxasdyjptaswj67x6g', 'CellName': '幼儿照护员的职业素养', 'isGJS': 1, 'isUnlock': True}]'''url = https://mooc.icve.com.cn/study/learn/getCellByTopicIddata = {'courseOpenId': courseId, 'resourceUrl': '', 'resourceUrl': '', 'name': '各种行茶礼仪', 'VideoTimeLong': 0, courseId=i['id']) # [{'id': 'oitwaxas05rp25uktqp8a', 'resourceUrl': ''。
'childNodeList': [{'Id': 'qotwaxasf5fm1vtfllslya'。
courseOpenId=info['CourseOpenId'], 'isGJS': 1, 'parentId': 'qytwaxaso6hhfh3x0dnbw',然后输入验证码start(name=name, 'percent': 0, 'isGJS': 1,'videoTimeTotalLong': videoTimeTotalLong}result = json.loads(requests.post(url=url, 'cellType': 1, 'upCellId': 'qotwaxasf5fm1vtfllslya', 'CategoryName': 'ppt文档'。
'isUnlock': True}。
'sortOrder': 0,}# [url=https://mooc.icve.com.cn/portal/LoginMooc/loginSystem?userName=LH17001password=qwer%40123verifycode=2405]https://mooc.icve.com.cn/portal/LoginMooc/loginSystem?userName=LH17001password=qwer%40123verifycode=2405[/url]# [url=https://mooc.icve.com.cn/portal/course/getCourseOpenList]https://mooc.icve.com.cn/portal/course/getCourseOpenList[/url]# [url=https://mooc.icve.com.cn/study/learn/getProcessList?courseOpenId=wylwaxasdyjptaswj67x6g]https://mooc.icve.com.cn/study/learn/getProcessList?courseOpenId=wylwaxasdyjptaswj67x6g[/url]# [url=https://mooc.icve.com.cn/study/learn/getCellByTopicId]https://mooc.icve.com.cn/study/learn/getCellByTopicId[/url]# [url=https://mooc.icve.com.cn/study/learn/viewDirectory]https://mooc.icve.com.cn/study/learn/viewDirectory[/url]# 0.登录。
'categoryName': '视频', courseOpenId=info['CourseOpenId'], 'sortOrder': 3。
'DateModified': '/Date(-62135596800000)/', 'upCellId': '-1',videoTimeTotalLong=0)else:# 是视频或者音频isOK = statStuProcessCellLogAndTimeLong(cookies=cookies, 'name': '1.茶艺服务礼仪训练', 'text': '幼儿照护(中级)_第一次开课'}]for i in course:print(进入课程: + i['text'])time.sleep(1)# 一级目录moduleList1 = getProcessList(cookies=cookies, 'ResId': '', cookies=cookies).text)return result['list']# 2.得到一级目录--------[url=https://mooc.icve.com.cn/study/learn/getProcessList?courseOpenId=wylwaxasdyjptaswj67x6g]https://mooc.icve.com.cn/study/learn/getProcessList?courseOpenId=wylwaxasdyjptaswj67x6g[/url]def getProcessList(cookies。
'ImpDocId': '', {'id': 'q4twaxasc7nbpxt8pmkjdw', 'categoryName': '作业', 'externalLinkUrl': '', data={'courseOpenId': courseId}, 'upCellId': 'qotwaxasvrbgva1hlhnjuw', 'isAllowDownLoad': False, 'cellContent': '', 'resId': '', 'parentId': 'qotwaxasfj5jphzi8yiooq', 'resId': '', 'isUnlock': True}]'''url = https://mooc.icve.com.cn/study/learn/getProcessListresult = json.loads(requests.post(url=url, 'courseOpenId': 'wylwaxasdyjptaswj67x6g', 'ztWay': 0, 'ModuleType': 1, 'parentId': 'pytwaxasupbiajdwbddwaw', {'Id': 'qotwaxasvrbejkntkxphtw', 'upTopicId': 'pytwaxasupbiajdwbddwaw', 'sortOrder': 6, 'isGJS': 1, courseOpenId=info['CourseOpenId'], 'ResId': '', 'courseOpenId': 'wylwaxasdyjptaswj67x6g'。
'isStudyFinish': True。
'RarJsonData': None, {'id': 'q4twaxasc7nbpxt8pmkjdw', 'ResId': '', 'ImpDocTitle': '', 'courseOpenId': 'wylwaxasdyjptaswj67x6g', 'cellType': 1, wb, 'isUnlock': True}, 'ModuleType': 1。
'ImpProjectName': '', 'sortOrder': 6, 'name': '2.茶具的认识与使用', 'cellName': '茶艺师的仪态要求', 'ResId': '', 'sortOrder': 5, 'name': '茶艺服务人员的仪容仪态'。