引言
由于换了一家创业公司(等过一阵子有时间会细说这个事情),最近一个月会比较忙,都没时间写博客了,但是又不想停更,所以就有了这篇文章。
诞生记
我听播客已经有几年了,每次做饭、跑步、打扫家务或者上下班比较累的时候听播客真是一举两得的事情。近两年由于喜马拉雅 FM、蜻蜓 FM 等一系列的国内播客平台的火爆,提高了国内播客节目的产出。
但是有些播主并不注重 Apple 的 Podcast,干脆就没去上架。一直喜欢使用 Overcast 听播客的我,自然是不能忍。想到得第一件事情当然是先搜索,在网上找找看有没有人做类似的工具,我肯定不是一个人有这个需求。果然被我找到了 https://miao.li/2016/podcast_beta_miao_li/ ,不过用了大半年,无法使用了。也没找到其他解决办法,最后只能自己再造轮子了。
GitHub 地址:https://github.com/forecho/Quicksilver ,选了一个非常中二的名字,其实就是漫威里面快银的名字。
实现思路
其实就是写爬虫,这几年自己做三立三没少用 Python 写爬虫,所以对我来说就是分分钟的事情。刚开始还想使用 Scrapy 来实现的,结果第一次用 Scrapy,卡住一个地方了,花了点时间也没找到解决思路,后来又换回我熟悉的方式了。
写喜马拉雅 FM 的时候,获取时间上被坑了,接口的创建时间是月日时分,类似这样:12 月 11 日 17:00,没有年啊,坑爹。这个非常重要,因为播客客户端一般都是根据时间排序的。不过几天之后发现页面上有年月日,正好结合一下,算是可以满足了。
基本的实现思路就是,循环抓取到自己想要的数据,重组,生成符合 Podcast 规范的 RSS 即可。不需要保存到数据库,尽量保持简单。每天晚上自动定时更新文件。
代码开源
选择开源出于以下几点考虑:
- 想吸点粉丝。
- 这种实现方式不太稳定,只要官网数据结构有改动,我这边就可能用不了了。所以选择开源,就算我以后不维护了(这可能性比较小),其他人有这个需求也可以提供代码,帮助维护。
- 我只有听喜马拉雅 FM 的需求,其他人有其他改进的需求可以贡献代码。
在几个社区宣传之后,Star 数量还算客观。在 V2EX 上宣传之后,当天就有人提交了蜻蜓 FM 的支持,效率就是这么高,感觉很开心。
最后
最后再说两句,如果你是程序员建议你学一下 Python,不需要学得有多精通,会用就行,Python 写小工具真是神奇。我写 Python 的过程基本上就是看廖雪峰的官方网站,教程写的简单实用。然后自己再多实践。
最后再贴几个链接:
- 前两天看到一个类似的功能的网站,有兴趣可以看一下:http://getpodcast.xyz/
- 如果你可以访问 YouTube,而且想把 YouTube 频道当播客听,不要错过这个: http://podsync.net/
- 如果你还不知道听什么节目,快看看我这篇文章:https://blog.forecho.com/im-listening-to-podcasts.html
- 目前已经支持的节目列表:https://git.io/vpU3y
- 原文作者: forecho
- 原文链接: https://blog.forecho.com/subscribe-to-podcasts-using-the-ubiquitous-podcast-client.html
- 版权声明:本作品采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。