【芥末堆注】课程表类应用基于课程表进行社交,超级课程表和课程格子有数百万甚至上千万用户,但是前提是有课程数据,来听课程格子的工程师讲述如何搜集高校的课程数据。以下摘自知乎问答:
做的过程并没有看上去那么难,方法有以下三种:
1、教务系统接入,同步导出个人课表。我们并没有一开始就做这个功能,而是等到拥有百万用户和很多热心粉丝之后才开始做这个功能。我们从校园大使、热心用户那里收集到了1000所大学的教务地址、学生学号和密码,然后分析了一下学校教务的账号结构。清华的那个同学说的很对,每个学校的结构都不一样,如果不更多的依靠技术,无疑是一件费时费力的事情。我们也想过雇佣几十个实习生,一个一个学校做。但觉得这个方法效率太低,可维护性太差,也不符合我们团队的风格。
我自己搭建了一套系统,自动排查,迅速筛掉不可以做导入的学校,这些学校包括:屏蔽外网的、教务没有课表的等等;然后是全自动的测试系统,用登录结果跟已知算法匹配。最后是输出调整,根据输出进行语义分析的调整。搭建整个系统用了一周,这一周正好收集到了账号,然后在接下来的一周我们就解决了500所高校的导入问题。不过还是会有局限,这个工作不可能覆盖全部的高校,所以注定更多的高校是没有办法连通教务导入课表的。
2、手动输入课表。这个看上去简单实际却很复杂的问题。手动录入之后,课程就被全校共享了,我们遇到过手动输入全系50多门课的雷锋用户。关键在于:输入信息错误怎么办?重复怎么办?我们的后台有一整套自动算法,把这个问题解决90%。
3、另外就是录入数据的问题,我们试图导入全校数据,不过发现效果不好,也就导入了清华北大,因为团队里面有清华北大的同学,其他的没怎么弄。
其实最让我们意外的是用户产生数据的积极性,超过了我们的预期,用户贡献内容比例非常高。随着数据生成的方式多样化和已有数据积累,也许以后我们能做到课程数据的零输入。
总体来说,这是一个复杂但有挑战的技术问题。我们也没有百分之百解决。
文章来自知乎回答,作者黄祥旦,课程格子工程师。
2、芥末堆不接受通过公关费、车马费等任何形式发布失实文章,只呈现有价值的内容给读者;
3、如果你也从事教育,并希望被芥末堆报道,请您 填写信息告诉我们。