订阅了几个极客时间的专栏,一直没有时间去看。
最近,想着如果把内容制作成电子书,利用上下班时间学习一下,岂不是很方便?
在网上搜到一个很好用的开源软件,几分钟就可以把极客时间的专栏做成电子书,简直太棒了,由衷地感谢软件的作者。
制作电子书的开源软件地址是 https://github.com/jachinlin/geektime_dl 。
基本安装和使用步骤如下。
安装
虚拟环境 virtualenv
virtualenv -p python3 ~/venv3 && source ~/venv3/bin/activate
代码
pip install -U geektime_dl
安装kindlegen
Linux:
wget http://kindlegen.s3.amazonaws.com/kindlegen_linux_2.6_i386_v2_9.tar.gz -O - | tar -xzf - -C ~/venv3/bin
macOS:
brew install homebrew/cask/kindlegen
Windows:
not test now!
use docker, see below
运行
查看帮助信息
1、查看 cli subcmd
geektime help
2、查看具体 cli subcmd 帮助信息
geektime <subcmd> --help
为具体的子命令名,可以从 help 子命令查看。
登录保存登录token
geektime login [--account=<account>] [--password=<password>] [--area=<area>]
[]表示可选,<>表示相应变量值,下同
--account: 手机账号,不提供可稍后手动输入
--password: 账号密码,不提供可稍后手动输入
--area: 注册手机号所属地区,默认86
查看极客时间课程列表
geektime query
执行该命令后,我们可以看到专栏、视频、微课等课程的课程标题、订阅情况、更新频率还有课程ID,这个课程ID很重要,咱们下边的操作就是基于这个ID进行的。
专栏
课程ID 已订阅 课程标题 更新频率/课时·时长
49 否 朱赟的技术管理课 (全集)
48 是 左耳听风 (全集)
......
微课
课程ID 已订阅 课程标题 更新频率/课时·时长
75 是 深入浅出gRPC (全集)
73 否 Service Mesh实践指南 (全集)
......
视频
课程ID 已订阅 课程标题 更新频率/课时·时长
138 是 Nginx核心知识100讲 (100课时,约600分钟)
130 否 算法面试通关40讲 (40课时·约500分钟)
......
其他
课程ID 已订阅 课程标题 更新频率/课时·时长
69 否 零基础入门 Python 机器学习 (None)
70 否 零基础入门 TensorFlow (None)
制作电子书
geektime ebook <course_id> [--out-dir=<out_dir>] [--enable-comments] [--comment-count=<comment_count>]
- course_id: 课程ID,可以从 query subcmd 查看
- –out_dir: 电子书存放目录,默认./ebook/
- –enable-comments: 启动评论下载,默认不下载评论
- –comment-count: 在启动评论下载时,设置评论条数,默认10条
notice: 此 subcmd 需要先执行 login subcmd
批量下载所有已订阅专栏的方法
geektime query | grep '是' | cut -d ' ' -f 1 | xargs -I {} geektime ebook {}