找回密码
  注册[Register]
查看: 945|回复: 6

[其他] 【笔记】学习通签到代码

  [复制链接]
发表于 2020-5-29 18:36 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

  1. import requests,json,time

  2. #填入Cookie
  3. headers={
  4.   "Cookie": "",
  5.   "User-Agent": "Mozilla/5.0 (iPad; CPU OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 ChaoXingStudy/ChaoXingStudy_3_4.3.2_ios_phone_201911291130_27 (@Kalimdor)_11391565702936108810"
  6. }
  7. #填入uid
  8. uid=""
  9. coursedata=[]
  10. activeList=[]
  11. course_index=0
  12. speed=10
  13. status=0
  14. status2=0
  15. activates=[]
  16. def backclazzdata():
  17.     global coursedata
  18.     url="http://mooc1-api.chaoxing.com/mycourse/backclazzdata?view=json&rss=1"
  19.     res=requests.get(url,headers=headers)
  20.     cdata=json.loads(res.text)
  21.     if(cdata['result']!=1):
  22.         print("课程列表获取失败")
  23.         return 0
  24.     for item in cdata['channelList']:
  25.         if("course" not in item['content']):
  26.             continue
  27.         pushdata={}
  28.         pushdata['courseid']=item['content']['course']['data'][0]['id']
  29.         pushdata['name']=item['content']['course']['data'][0]['name']
  30.         pushdata['imageurl']=item['content']['course']['data'][0]['imageurl']
  31.         pushdata['classid']=item['content']['id']
  32.         coursedata.append(pushdata)
  33.     print("获取成功")  
  34.     #print(coursedata)  
  35.     printdata()

  36. def printdata():
  37.     global course_index,speed
  38.     index=1
  39.     for item in coursedata:
  40.         print(str(index)+".课程名称:"+item['name'])
  41.         index+=1
  42.     course_index=int(input("请输入序号以设定监控课程"))-1
  43.     print("监控课程设定完成")
  44.     speed=int(input("请输入监控频率"))
  45.     print("监控频率设置完毕")
  46.     res=input("输入start启动监控")
  47.     if(res=="start"):
  48.         startsign()
  49.     else:
  50.         printdata   



  51. def taskactivelist(courseId,classId):
  52.     global activeList
  53.     url="https://mobilelearn.chaoxing.com/ppt/activeAPI/taskactivelist?courseId="+str(courseId)+"&classId="+str(classId)+"&uid="+uid
  54.     res=requests.get(url,headers=headers)
  55.     data=json.loads(res.text)
  56.     activeList=data['activeList']
  57.     #print(activeList)
  58.     for item in activeList:
  59.         if("nameTwo" not in item):
  60.             continue
  61.         if(item['activeType']==2 and item['status']==1):
  62.             signurl=item['url']
  63.             aid = getvar(signurl)
  64.             if(aid not in activates):
  65.                 print("【签到】查询到待签到活动 活动名称:%s 活动状态:%s 活动时间:%s aid:%s"%(item['nameOne'],item['nameTwo'],item['nameFour'],aid))
  66.                 sign(aid,uid)   

  67. def getvar(url):
  68.     var1 = url.split("&")
  69.     for var in var1:
  70.         var2 = var.split("=")
  71.         if(var2[0]=="activePrimaryId"):
  72.             return var2[1]
  73.     return "ccc"   

  74.    

  75. def sign(aid,uid):
  76.     global status,activates
  77.     url="https://mobilelearn.chaoxing.com/pptSign/stuSignajax?activeId="+aid+"&uid="+uid+"&clientip=&latitude=-1&longitude=-1&appType=15&fid=0"
  78.     res=requests.get(url,headers=headers)
  79.     if(res.text=="success"):
  80.         print("用户:"+uid+" 签到成功!")
  81.         activates.append(aid)
  82.         status=2
  83.     else:
  84.         print("签到失败")  
  85.         activates.append(aid)  

  86. def startsign():
  87.     global status,status2
  88.     status=1
  89.     status2=1
  90.     ind=1
  91.     print("监控启动 监控课程为:%s 监控频率为:%s"%(coursedata[course_index]['name'],str(speed)))
  92.     while(status!=0 and status2!=0):
  93.         ind+=1
  94.         taskactivelist(coursedata[course_index]['courseid'],coursedata[course_index]['classid'])
  95.         time.sleep(speed)
  96.         if(status==1):
  97.             print(str(ind)+" [签到]监控运行中,未查询到签到活动")
  98.         elif(status==2):
  99.             print(str(ind)+" [新签到]监控运行中,未查询到签到活动")         
  100.     print("任务结束")
  101.     printdata()

  102. backclazzdata()
复制代码


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-5-29 19:05 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-5-29 19:17 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-5-29 19:18 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-5-30 08:58 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-5-31 12:21 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-5-31 15:48 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-4-26 19:00 , Processed in 0.037736 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表