极客时间专栏本地化方案有两种:一是用Go语言版geektime-dl,支持登录后按专栏ID下载PDF;二是用Node.js版geektime2pdf,需配置cookie和专栏参数生成PDF及音频。

你想把极客时间专栏内容保存下来反复研读,但网页端无法离线查看、APP又限制下载权限,需要一套稳定可靠的本地化方案。
获取专栏内容的两种主流方式
方法一:使用 geektime-dl(Go语言版)
克隆仓库并编译:git clone https://gitcode.com/gh_mirrors/ge/geektime-dl → cd geektime-dl → go build -o geektime-dl
登录账号:./geektime-dl login -p 手机号 -pwd 密码
执行下载:./geektime-dl download -c 专栏ID
【专栏ID必须是数字,可在极客时间网页版URL中直接提取,例如 https://time.geekbang.org/column/intro/123456 中的 123456】
方法二:使用 geektime2pdf(Node.js版)
克隆项目:git clone git@github.com:jjeejj/geektime2pdf.git
安装依赖:cd geektime2pdf → npm install
修改 config.js 文件,填入 columnName、firstArticalId 和 cookie 字段
【cookie 必须包含 gcid 和 gcess 两个关键值,缺一不可,否则请求会因鉴权失败而中断】
运行转换:node columnArticleList.js
配置与运行的关键细节
第一步:确认 Go 或 Node.js 环境已就绪
执行 go version 或 node --version,输出版本号即表示环境可用;若报错,请先安装对应运行时。
第二步:获取有效 Cookie
打开极客时间官网 → 登录账号 → 按 F12 → 切换到 Network 标签 → 刷新页面 → 任意点击一个 xhr 请求 → 在 Headers → Request Headers 中找到 Cookie 行 → 复制整段内容 → 粘贴进 config.js 的 cookie 字段。
第三步:验证专栏可访问性
在浏览器中手动访问 https://time.geekbang.org/column/intro/专栏ID,能正常打开说明该专栏对你已开放权限;若跳转至订阅页或提示“未购买”,后续下载将无法获取正文内容。
下载后的内容整理
geektime-dl 默认生成 PDF 文件,保存路径为当前目录下的 pdf/ 子文件夹。
geektime2pdf 生成的 PDF 会存放在 geektime_{columnName} 文件夹中,文件名按文章顺序编号命名。
音频文件(如启用 isdownloadVideo:true)会被单独下载为 mp3,与 PDF 同级目录存放。


















