如今,在线学习已经成为学习者必不可少的一部分,国内较大的平台如学堂在线,中国大学慕课等,“强行科普:MOOC自称为大规模开放在线学习平台(massive open online courses)”,
接下来两点IT通过Python大法获取某网1600门课程数据,给大家说说真实的MOOC现状。
一、数据获取
今日就把目前市场占有率较高的中国大MOOC为目标,,来获取上千门慕课课程数据(目标链接:https://www.icourse163.org/category/all)
环境配置及模块安装
Python版本: Python3.6
依赖模块:pymysql,selenuim,bs4,re等
整体思路是:
先爬取每个区域的url和名称,跟主url拼接成一个完整的url,循环url列表,依次爬取每个区域的课程信息。
在爬每个区域的课程信息时,找到最大的页码,遍历页码,依次爬取每一页的课程信息
开启多线程
保存数据到mysql
数据分析
核心代码如下:
网页解析 加载Chrome网页
二、数据存储
由于mysql功能强大,操作简便,python对其支持性较好,选用mysql。不过其他数据库皆可,数据存储原理大同小异。
三、数据分析
链接数据库
先来看看均值,下图中stu_num的均值为7005人,即每门课程的平均选课人数,平均数看起来还不错,但往往也会陷入平均数陷阱。由中位数可知,这显然是个两级分化的数据。
那么大那么小
并不是所有的课程都那么受学生欢迎,下图则可看出整体数据的分布为L型,最高的选课人数超过了18万人,大于2.5万的课程有76门,这个数值已经很了不起了,占到了总课程数量的4.6%;这么说来,又有95.4%的课程低于此人数,不过看来,对于一门课学生人数已经足够多了。有超过最低的选课人数为难以想象的 0 。你没看错,在这个L的长尾里是从不断趋于0,到直接等于0。
通过审查数据,我们发现选课人数为0 的慕课开课时间处于待定,或还未到开课时间。
开课数量大于25门课程的学校如下图所示
饼图代码
以上是中国大学MOOC的数据,
更多数据内容,关注公众号,回复MOOC即可获得。
======End======
领取专属 10元无门槛券
私享最新 技术干货