【小工具】极客时间&GitChat专栏下载脚本

简介: 【小工具】极客时间&GitChat专栏下载脚本

起因


我个人算是极客时间的忠实用户,以前一段时间也是一直在极客时间购买课程,这里我想赞美一下极客时间的阅读体验(虽然我也想过将专栏持久化下来生成PDF,但其优越的阅读体验一直阻挠着我~👍)


这两天看领域驱动设计,发现GitChat一篇相关的课程不错,纠结一番购买后,在阅读过程中真心感觉GitChat的阅读体验真是辣眼睛,可能是我开始老花眼了?

1.jpg

突然右上角发现可以下载成PDF,心中一喜,GitChat还是挺上道的,虽然只能下载一章节,待我满怀希望地点击下载,我去,那么大的水印,我看着更!加!花!了!

2.jpg

所以,自己干吧,🤷‍♀️。思路很简单:


利用爬虫模拟请求对应专栏并持久化成Markdown文件利用Pandoc[1]批量将Markdown文件转化成PDF批量将PDF合并,并根据文件名称以及页数添书签写文章分享😀


最终成果:

3.jpg

放到Ipad上结合Expert进行阅读,完美了  


使用


脚本怎么写我就不详细说,直接开源☞极客时间专栏PDF生成脚本[2]GitChat专栏PDF生成脚本[3] ,我觉得说说怎么用就好:


首先克隆项目:

git clone https://github.com/howie6879/ruia_spider.git
cd ruia_spider.git
# 确保有Python3.6+的环境
pipenv install
# 利用PyCharm打开项目

在开始之前,需要点准备工作,也就是安装Pandoc[4],跟着我走:

# Mac系统哈,其他的自行谷歌,流程类似
brew install pandoc
# 安装  [tinytex](https://yihui.name/tinytex/) 
sh -c "$(curl -sL "https://yihui.name/gh/tinytex/tools/install-unx.sh")"
# 安装扩展
tlmgr install unicode-math filehook xecjk xltxtra realscripts fancyhdr lastpage ctex ms cjk ulem environ trimspaces zhnumber collection-fontsrecommended

接下来的工作就是执行脚本了,以下载GitChat专栏为例,首先打开文件gitchat/gen_pdf.py

4.jpg

请注意这两个字段customerId、customerToken,这需要你自己手动填写,怎么弄,流程如下:


进入GitChat官网,登录


进入已经购买过的课程页面,比如领域驱动设计实践(战略篇)[5


谷歌浏览器右键Inspect->Network->刷新当前资源页面->查看Cookies


就能获取到这两个字段的值

5.jpg将上图的两个值填入脚本中,然后执行该脚本,正常输出如下:

[2019:08:27 21:27:29] INFO  Spider  Spider started!
[2019:08:27 21:27:29] INFO  Spider  Worker started: 4375136048
[2019:08:27 21:27:29] INFO  Spider  Worker started: 4375136184
[2019:08:27 21:27:33] INFO  Spider  Stopping spider: Ruia
[2019:08:27 21:27:33] INFO  Spider  Total requests: 37
[2019:08:27 21:27:33] INFO  Spider  Time usage: 0:00:03.324412
[2019:08:27 21:27:33] INFO  Spider  Spider finished!
[2019:08:27 21:27:33] INFO  Spider  课程内容爬取完毕:/Users/howie6879/Documents/python/git/ruia_spider/gitchat/领域驱动设计实践(战略篇),即将生成PDF...
[2019:08:27 21:27:33] INFO  Spider  所有PDF转化完毕:/Users/howie6879/Documents/python/git/ruia_spider/gitchat/领域驱动设计实践(战略篇)/pdf,即将合并所有PDF...
[2019:08:27 21:27:33] INFO  Spider  合并成功:领域驱动设计实践(战略篇).pdf

完毕,美滋滋,PDF&MD文件都有了:

6.jpg

最后


如果这个脚本对你有用,请点好看!附上实际使用效果:

7.jpg

References


[1] Pandoc: https://pandoc.org/


[2] 极客时间专栏PDF生成脚本: https://github.com/howie6879/ruia_spider/tree/master/geekbang


[3] GitChat专栏PDF生成脚本: https://github.com/howie6879/ruia_spider/blob/master/gitchat/README.md


[4] Pandoc: https://pandoc.org/


[5] 领域驱动设计实践(战略篇): https://gitbook.cn/gitchat/column/5b3235082ab5224deb750e02


相关文章
|
缓存 Kubernetes API
K8S 性能优化 - K8S APIServer 调优
K8S 性能优化 - K8S APIServer 调优
|
1月前
|
人工智能 Linux API
OpenClaw保姆级图文教程!阿里云/Win11/MacOS/Linux部署+百炼API配置+5款生态工具深度测评
“AI交互正在从网页端向桌面端迁移”——这是2026年AI工具领域最显著的趋势。过去,用户习惯在浏览器中与大模型互动,但网页端的速度限制、权限不足、网络依赖等问题,让越来越多人将目光转向桌面端。而OpenClaw生态的崛起,恰好填补了这一空白——官方桌面版、社区驱动的轻量UI、厂商定制工具等多款产品,正在重新定义“桌面AI”的价值:更快的响应速度、更高的系统权限、更强的隐私安全,以及更自然的操作体验。
713 2
|
9月前
|
自然语言处理 监控 供应链
如何开发供应商管理系统中的外协生产板块(附架构图+流程图+代码参考)
本文详细介绍了供应商管理系统(VMS)中外协生产板块的构建与实现,涵盖功能设计、业务流程、开发技巧及优化策略。通过外协订单管理、进度跟踪、质量监控与成本控制等功能,帮助企业提升供应链管理效率,并结合实际代码示例,为开发团队提供技术参考。
|
域名解析 存储 资源调度
Excalidraw——部署一个手绘风格的画图工具
Excalidraw——部署一个手绘风格的画图工具
847 3
|
人工智能 API 语音技术
MoneyPrinterPlus:AI自动短视频生成工具,赚钱从来没有这么容易过
MoneyPrinterPlus使用AI大模型技术,一键批量生成各类短视频。一键混剪短视频,批量生成短视频不是梦。自动把视频发布到抖音,快手,小红书,视频号上。
MoneyPrinterPlus:AI自动短视频生成工具,赚钱从来没有这么容易过
|
SQL 存储 API
SqlAlchemy 2.0 中文文档(四十四)(6)
SqlAlchemy 2.0 中文文档(四十四)
404 4
|
监控 安全 Linux
如何使用Linux命令和工具在Linux系统中根据日期过滤日志文件?
如何使用Linux命令和工具在Linux系统中根据日期过滤日志文件?
985 1
如何使用Linux命令和工具在Linux系统中根据日期过滤日志文件?
|
Rust JavaScript 前端开发
【Neovim】配置美化完整流程
【Neovim】配置美化完整流程
8246 0
【Neovim】配置美化完整流程
|
SQL 前端开发 Java
Java后端接口编写流程
Java后端接口编写流程
360 0
|
监控 Java 数据库连接
内存溢出真实案例分析
背景:         某业务系统中,同一天产生多次excel导出请求,excel数据需要通过查表获取,由于数据量过大,导致了OutOfMemoryError         事先在服务启动脚本中已设置OOM异常触发堆快照参数及GC详情打印参数:-XX...
1892 0

热门文章

最新文章

下一篇
开通oss服务