说明

天天宿舍摆烂,老是忘记做学习通作业,弄个小玩意儿提醒一下自己

使用pushplus推送微信消息和华为云函数部署代码,目前华为云函数是每个月100万次免费调用额度,正常是用不掉的,但是不排除以后收费。代码写的烂,放文末

注册开通pushplus并且复制token填账号密码

https://www.pushplus.plus/微信扫码登录,并且手机微信点启用推送功能

去网页端点发送消息,顶部有token,复制下来放到代码中函数的参数token后面去

然后函数参数ac填学习通账号,pwd填密码

手机微信进入公众号点两次右上角有个设置可以关闭消息免打扰

填UA

在电脑浏览器地址栏输入about:version然后复制用户代理(英文是UserAgent)后面一串到函数的参数ua里面去(电脑浏览器登录过学习通)

注册华为云并部署代码

注册一个华为云账号https://www.huaweicloud.com/

该网站搜索函数工作流,点击进入,点立即使用

右上角创建函数,按图选择,运行时要选python3.9,点右下角创建函数

把index.py原来的代码删除然后粘贴文末代码

点击部署然后点测试看手机能不能收到消息

增加触发器

点上面的设置(别名右边)

选触发器,然后点右上角创建触发器

触发器类型选定时触发器,触发规则选Cron表达式,0 15 7 * * ?表示每天7:15触发,24小时制,0 45 17 * * ?就是每天17.45

cron具体语法:附录:函数定时触发器Cron表达式规则_函数工作流 FunctionGraph_用户指南_配置触发器_华为云 (huaweicloud.com)

这样每天固定时间云函数就会查看学习通没做的考试和作业,然后通知你,作业截止提醒也可以做但是我懒,有兴趣的话自己在作业提醒那里判断一个剩余时间就行,python版本3.9,也许学习通哪天更新就不能用了,那我也没有办法呀~

import re
import requestsdef handler (event, context):homework_exams()def homework_exams(ac='账户', pwd='密码',ua='UserAgent',message_url='http://www.pushplus.plus/send', token='token'):account = acpassword = pwdreq = requests.Session()m = ''data_list = []req.headers = {"Accept-Encoding": "gzip","Accept-Language": "zh-Hans-CN;q=1, zh-Hant-CN;q=0.9","User-Agent": ua}url = f"https://passport2-api.chaoxing.com/v11/loginregister?code={password}" \f"&cx_xxt_passport=json&uname={account}&loginType=1&roleSelect=true"res = req.get(url)if res.json()['type'] == 2:m = '登录出错了,也许是UserAgent的问题'else:# 作业提醒resHomework = req.get("http://mooc1-api.chaoxing.com/work/stu-work")doc = resHomework.textlabels=re.compile(r'<span  class="status".*?<span aria-label="(?P<label>.*?)"',re.S)text=re.compile(r'作业名称(?P<name>.*?)作业状态(?P<status>.*?)所属课程(?P<course>.*?)剩余时间(?P<time>.*?)$')for label in labels.finditer(doc):t=text.search(label.group('label'))if isinstance(t,re.Match):data_list.append({"text": t.group("name") + '\n#### 课程:' + t.group("course"), "time": t.group("time")})# 考试提醒resExam = req.get("https://mooc1-api.chaoxing.com/exam/phone/examcode")target2 = re.compile(r'<dt>(?P<name>.*?)</dt>.*?<dd>(?P<time>.*?)</dd>', re.S)for i in target2.finditer(resExam.text):data_list.append({"text": '考试:' + i.group("name"), "time": i.group("time")})for i in range(len(data_list)):m += f'### {i + 1}. ' + data_list[i]['text'] + '\n' + '\t* ' + data_list[i]['time'] + '\n'message = {'token': token, 'title': f'有{len(data_list)}份作业/考试待做', 'content': m, 'template': 'markdown'}requests.post(message_url, params=message)

学习通作业/考试每天微信提醒:使用pushplus和华为云函数相关推荐

  1. python定时天气预报(微信提醒)(部署到云服务器)

    python定时天气预报(微信提醒)(部署到云服务器) 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录 python定时天气预报(微信提醒)(部署到云服务器) 一. ...

  2. 获取微信code、调用小程序云函数、获取小程序支付二维码、小程序授权、小程序获取SeesionId

    获取微信code.调用小程序云函数.获取小程序支付二维码.小程序授权.小程序获取SeesionId 只需要调用对应的接口就行了 1. 小程序code获取 基本信息 接口状态: 已完成 接口URL: h ...

  3. 微信智能对话机器人调用第三方云函数

    这是一个通过给公众号绑定微信智能对话机器人调用第三方云函数实现用户信息查询 的简单示例. 一:微信智能对话机器人配置: 1:在"高级技能"中创建"查询用户"的技 ...

  4. h5跳微信小程序流程实现——使用云函数,不开通静态网站

    官方开源库: GitHub  TCloudBase/WXSEVER-SMS 参考教程: https://developers.weixin.qq.com/community/develop/doc/0 ...

  5. css计算函数 scalc 微信小程序_在微信小程序中,基于云函数发送邮件

    引言:基于第三方Nodemailer可以实现使用云函数来发送邮件.在开发过程中使用发送邮件,一般使用场景是用来用户注册账号,更改密码等其它验证. 1.开发准备 1.1邮箱 已注册成功的QQ邮箱.网易邮 ...

  6. 微信小程序图片内容审核功能云函数+小程序端代码完整实现【填坑】

    文章目录 背景 实现 技术栈 小程序端 基本思路 主要代码 云函数 思考 主要参考 背景 开发微信小程序的同学如果涉及了社交类目,应该都会碰到由于缺少内容审核机制导致不过审的情况.微信小程序官方实际上 ...

  7. 微信小程序 -- (七) 小程序 云函数

    小程序云函数 小程序云函数实在小程序端定义,在云服务器端执行的函数. 在小程序定义完毕后,可以通过开发工具上传部署到云服务器,然后在小程序端调过提供的API接口可以直接调用这些云函数. 云函数示例 定 ...

  8. 计算机网络 第7版 谢希仁 学习通 作业总结

    PS: 发现试题中错误选项 ,请评论区留下您的正确答案,加油! 两个大题加深字体,希望有大神可以在评论区给出求解思路,感谢. 为了能够不挂科,,,,也是拼了一上午啊啊啊啊啊... 总结下,方便复习.开 ...

  9. 学习通作业 第八章二测(2022.5.22 23:59:00截止)

    下面有两个算法: 方法一:老师讲的方法,全部走一遍,最后数组元素对应的值即为被淘汰出去的次序. 怎么想的看程序里注释叭^-^ #include<stdio.h> //这个函数会将数组遍历一 ...

最新文章

  1. 小程序支持php版本是多少,小程序体验版本什么意思
  2. leetcode1276. 不浪费原料的汉堡制作方案(贪心)
  3. 钉钉运营商服务器在哪,钉钉应用服务商
  4. 在Hyper-V主机中支持VLAN
  5. ssms,新建查询设置字体_如何在SSMS查询编辑器中使用SQLCMD命令
  6. 表头样式_1分钟学会制作Word两栏、三栏表头
  7. 鱼C论坛_VIP二号光盘
  8. c语言从入门到精通pdf 百度云,c语言从入门到精通PDF
  9. Web安全攻防 渗透测试实战指南3
  10. 步进电机驱动实验(89C51 + KEIL + Proteus)
  11. 稀土配合物Ln(DBM)3(Cz-PBM)|Tb(DBM)3(Cz-PBM)|Gd(DBM)3(Cz-PBM)|Ir(L)2(DBM-Ox)Ir(L)2(DBM-Cz)qiyue
  12. 5个最好的WordPress电子商务插件比较 - 2018年
  13. 12.15 村长项目借口
  14. ArcMap10.2 选项(Options)窗口显示不完整问题解决(以默认加载栅格数据去背景显示设置为例)
  15. MATLAB中的一些小技巧(2) - [MATLAB]
  16. python-科研绘图系列(2)-等高线图
  17. SAP中使用BDC创建或修改采购信息记录
  18. 大众点评 与 美团 与饿了么
  19. 在亚马逊严抓测评的风口下,亚马逊买家秀关联视频或许是一个安全有效的方式
  20. Flowable集成钉钉实现抄送发送消息

热门文章

  1. Maven创建第一个java项目(官方教程)
  2. 葫芦娃六娃_盘点《葫芦娃》中真正的实力排行,千里眼排第二,火娃排第四
  3. Android7.1.2源码解析系列】Android编译系统翻译------Android_Build_System(/build/core/build-system.html)
  4. 《从你的全世界路过》之稻城
  5. 利用无线信号传输的远程红绿灯辨识系统
  6. 开机点用户名登录显示rfc服务器不可用,打印机不能打印提示rpc服务器不可用怎么办...
  7. Java中文分词组件 - word分词(skycto JEEditor)
  8. python的f是什么意思_%f在python中什么意思
  9. 70 告别了,2013-2021【2021-06-05 1854】
  10. 毕业论文降重的有关经验