如何把极客时间的课程保存到本地
最近极客时间有个活动,企业可以为每位员工免费领取3门课程。刚好我们公司领导也给我们申请了这个权益(没有领取的可以找领导说说帮忙弄一下,活动地址)。
免费领取的课程只有30天有效期,因为工作日白天要正常上班,30天之内没法学完3门课程。所以就写了个脚本,将账号下所有可以看到的专栏课程自动保存到本地。
脚本已经开源到 GitHub ,需要的可自取:GitHub 地址
💥 该项目仅限学习交流使用,请勿用于任何商业行为和损害其它人利益的行为。 💥
如何使用
-
将代码 clone 到本地
git clone git@github.com:zhengxiaotian/geek_crawler.git
-
直接在终端或者 Pycharm 中运行脚本(ps: 代码是在 Python3 下编写的,需要使用 Python3 运行)
python geek_crawler.py
-
输入账号密码
E:\geek_crawler (master -> origin) λ python geek_crawler.py 请输入你的极客时间账号(手机号): ************* 请输入你的极客时间密码: ************
-
抓取完成
2020-04-28 19:32:41,624 - geek_crawler.py[line:307] - INFO: 请求获取文章信息接口: 2020-04-28 19:32:41,633 - geek_crawler.py[line:320] - INFO: 接口请求参数:{'id': 225554, 'include_neighbors': 'tru e', 'is_freelyread': 'true'} 2020-04-28 19:32:42,047 - geek_crawler.py[line:349] - INFO: ---------------------------------------- 2020-04-28 19:32:47,131 - geek_crawler.py[line:478] - INFO: 正常抓取完成。
PS:如果抓取过程中有接口报错导致抓取中断,可以查看日志中对应的报错信息,然后直接重新跑脚本继续抓取(之前抓取成功的文章会在本地有文档记录,后续不会重复抓取的)
成果展示
功能清单
-
[√] 输入账号密码后自动将该账号下所有可以看到的专栏(图文+音频),保存到本地;
-
[√] 可以支持选择保存成 Markdown 文档或者 HTML 文档;
-
[√] 支持配置排除某些课程的拉取(比如已经有的课程不再下载);
新手写博客,把自己学习过程中的收获和问题在博客上记录。欢迎大家在评论区进行指点,希望能越来越好。