小爱课表一键导入教程
小爱课表一键导入图文教程
前言
因为觉得市面上的大多数课表管理软件体验不佳(广告多,臃肿,界面不美观,功能单一)在经过无数的选择后,发现小爱课程表符合预期(轻便,美观,无广告,提醒功能实用)但是这玩意并没有适配我皇家大理工【滑稽】于是只好自己开发脚本适配,方便大家使用bug反馈:QQ:2922265540
直接上结果图。。。
使用教程
软件名称:小爱课程表(小米官方出品)脚本已经通过小米官方审核,大家可放心使用以下步骤并不一定严格遵守,我会精确到每一步操作教程是为了帮助多次失败的同学【滑稽】
大致操作流程
详细图文教程
1同意相关条款
2.直接进入个人中心设置
3.设置课程节数
4.选择学校(懂的都懂,别选AI)
5.登录教务网站
相关代码(可进行定制开发【滑稽】)
function scheduleHtmlProvider(iframeContent = "", frameContent = "", dom = document) {if (dom.querySelector('#tb > button.btn.btn-default.btn-primary').textContent.trim() === '列表') {return '<div id="type">list</div>' + dom.querySelector('#kblist_table').outerHTML} else {return '<div id="type">table</div>' + dom.querySelector('#kbgrid_table_0').outerHTML}
}
function getSections(strarr) {var sections = [];for (var i = 0; i < strarr.length; i++) {var str2 = strarr[i].split('-')for (var j = parseInt(str2[0]); j <= parseInt(str2[1]); j++) {sections.push({section:j })}}return sections
}function getTime(str) {let reg = new RegExp(/\d?\d-\d?\d/g);let regResult = reg[Symbol.match](str)let weeks = getWeeks(regResult.pop())console.log([weeks, getSections(regResult)])return ([weeks, getSections(regResult)])
}function getWeeks(str) {var weeks = [];var str2 = str.split('-')for (var i = parseInt(str2[0]); i <= parseInt(str2[1]); i++) {weeks.push(i)}return weeks
}// 解析列表模式
// function parseList(html) {
// let result = []
// const $ = cheerio.load(html, {decodeEntities: false});
// $('#kblist_table').find('tbody').each(function (weekday) {
// if (weekday > 0) {
// $(this).find('tr').each(function (index) {
// if (index > 0) {
// let course = {}
// $(this).find('td').each(function (i) {
// if (i == 0) {
// course.sections = getSections($(this).text())
// } else {
// course.name = $(this).find('.title').text()
// let info = []
// $(this).find('p font').each(function () {
// let text = $(this).text().trim()
// if (text.search('上课地点') != -1) {
// text = text.replace('上课地点:', '')
// }
// info.push(text.split(':')[1])
// })
// let reg = new RegExp('周', 'g')
// let weekStr = info[0].replace(reg, '')
// course.weeks = getWeeks(weekStr)
// course.teacher = info[2]
// course.position = info[1]
// course.day = weekday
// }
// })
// result.push(course)
// }
// })
// }
// })
// console.log(result)
// return result
// }// 解析表格模式
function parseTable(html) {const $ = cheerio.load(html, {decodeEntities: false});let result = []$('#kbgrid_table_0').find('td').each(function () {if ($(this).hasClass('td_wrap') && $(this).text().trim() !== '') {let info = []let weekday = parseInt($(this).attr('id').split('-')[0])$(this).find('font').each(function () {let text = $(this).text().trim()if (text !== '') {info.push(text)}})console.log(info)let hasNext = truelet index = 0while (hasNext) {let course = {}course.name = info[index].slice(0,-1)course.teacher = info[index + 3]course.position = info[index + 2].replace('申江校区(军工路1100) ', '')course.day = weekdaylet [weeks, sections] = getTime(info[index + 1])course.weeks = weekscourse.sections = sectionsresult.push(course)if (info[index + 5] !== undefined) {index += 5} else {hasNext = false}}}})return result
}function scheduleHtmlParser(html) {let result = []let finall = {}if ($('#type').text() === 'list') {result = parseList(html)} else {result = parseTable(html)}finall["courseInfos"] = resultfinall["sectionTimes"] = [{"section": 1,"startTime": "08:00","endTime": "08:45"},{"section": 2,"startTime": "08:50","endTime": "09:35"},{"section": 3,"startTime": "09:55","endTime": "10:40"},{"section": 4,"startTime": "10:45","endTime": "11:30"},{"section": 5,"startTime": "11:35","endTime": "12:20"},{"section": 6,"startTime": "13:15","endTime": "14:00"},{"section": 7,"startTime": "14:05","endTime": "14:50"},{"section": 8,"startTime": "15:05","endTime": "15:50"},{"section": 9,"startTime": "15:55","endTime": "16:40"},{"section": 10,"startTime": "18:00","endTime": "18:45"},{"section": 11,"startTime": "18:50","endTime": "19:35"},{"section": 12,"startTime": "19:40","endTime": "20:25"}]console.log(finall)return finall
}
小爱课表一键导入教程相关推荐
- 使用候鸟浏览器代替Editthiscookie、Cookie Editor插件实现CK号一键导入导出登录
做亚马逊测评和facebooke项目的朋友应该都听说过CK号,那么什么是CK呢? Cookie号,也叫CK号,也是老白号的一种,cookie号的好处就是可以直接导入cookie实现免密登陆.相对于普通 ...
- code block怎样导入整个文件夹_手机资讯:【爱思助手6.0】视频导入教程
如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道[爱思助手]视频导入教程,那么既然现在大家对于[爱 ...
- 我的世界java材质包转基岩_Minecraft我的世界基岩版材质包导入教程
Minecraft我的世界基岩版材质包导入教程!大家好这里是千羽,今天为大家带来Minecraft基岩版材质包的导入方法,包括Win10版以及安卓版的材质包导入教程视频,不知道材质包怎么导入的同学可参 ...
- 爱思助手安卓能用吗_手机资讯:【爱思助手6.0】音乐铃声导入教程
如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道[爱思助手]音乐铃声导入教程,那么既然现在大家对于 ...
- 开源导入导出库Magicodes.IE 多sheet导入教程
多Sheet导入教程说明 本教程主要说明如何使用Magicodes.IE.Excel完成多个Sheet数据的Excel导入. 要点 多个相同格式的Sheet数据导入 多个不同格式的Sheet数据导入 ...
- kax格式怎么导入不了pr_pr如何导入.mogrt文件 pr模板导入教程
Mogrt 文件是什么,Mogrt格式的模板文件,又称之为Pr动态图形模板,是一种新型的模板格式..mogrt文件如何使用,pr如何导入.mogrt文件呢?Macw小编为大家带来了pr模板导入教程,一 ...
- 苹果手机怎么编辑word文档_可以一键导入word图文的微信编辑软件有什么?编辑器怎么使用?...
工作效率的提高除了因为熟练之外,还因为各种工具的辅助.自古以来都有工欲善其事必先利其器的教诲,好的工具能让我们工作时事半功倍.今天我们来聊聊什么工具可以提高公众号运营效率?什么微信编辑器可以讲word ...
- win10英文系统一键装机教程
当使用的win10系统出现卡顿,经常蓝屏等情况的时候,我们可以考虑给电脑重装win10系统了.有网友想了解如何安装win10英文版系统,我们可以借助工具一键重装win10系统,下面小编就教下大家win ...
- IDEA的常用配置一键导入及优化内存
IDEA的常用配置一键导入 一.在https://www.cnblogs.com/zyx110/p/10799387.html中下载如图的压缩包 下载完成后解压缩,点击settings_bak,你会看 ...
最新文章
- 【Infragistics教程】在javascript类中添加静态成员属性
- centos 6.x 升级内核
- 天气小工具新增风格-默认无背景,感谢欧阳兄制作
- ffmpeg在windows下的编译
- Java进阶day03继承
- java策略文件_[讨论]java类文件保护策略
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
- C++监控注册表信息
- Java 网络编程(三) 创建和使用URL访问网络上的资源
- 拓端tecdat|R语言中的copula GARCH模型拟合时间序列并模拟分析
- java response 输出word_java导出数据到word(一)
- 日期抽象数据类型设计与实现作业总结
- 物联网项目开发实战案例
- 飞腾桌面腾锐D2000 核心板
- 瑞吉外卖项目实践(个人精简升级版)
- cpu、内存、磁盘关系
- vue3 ts import时报错An import path cannot end with a ‘.ts‘ extension
- 基于java的保险业务管理系统的设计与实现
- matlab实现动态规划算法
- ZYNQ7000 SDK开发使用
热门文章
- IDEA运行JavaWeb服务器图片无法加载
- windows找不到文件卸载程序,请确认文件名是否正确,再试一次
- Nacos心跳检测原理
- Fedora 14下的yum源
- BugKu CTF(Crypto篇)---where is flag 5
- 计算机毕业设计ssm力高灯饰线上交易平台4d59n系统+程序+源码+lw+远程部署
- python代码变成手机软件_三款可以在安卓手机上运行Python代码的软件
- 招商银行周天虹:AI时代的分布式数据库是什么样的?
- mysql 连接字符串 c#_C#版mysql连接字符串
- python画企鹅_python如何绘制降水图