使用 KindleEar 定时推送《知乎日报》到 Kindle Paperwhite

入手 Kindle Paperwhite 已经有段时间了,但是一直没有充分利用起来。

HiPDA! 的 E-ink 版乱逛的时候,看到 cdhigh 开源了一个 Kindle 推送服务的代码 KindleEar,而最近又经常会去看知乎日报,于是就想能不能每天定时把知乎日报推送到 Kindle 上阅读。

在看了 KindleEar 的代码之后,发现添加一种订阅源还是比较简单的,于是直接拷贝了原来 books 中的代码,写了一个知乎日报的模块 ZhihuDaily.py

具体的代码可以前往我的 fork:,我也已经提交了 Pull Request 给原作者。

不过在测试过程中发现知乎屏蔽了来自 Google App Engine 的网页获取请求,经过 @clowwindy 说明得知有人滥用 Google App Engine 于是简单的屏蔽了 GAE 的访问。

当然这个不难解决,通过另外一个服务器中转一下知乎日报的 Feed 就行了,知乎并没有屏蔽所有外部访问⋯⋯

于是写了个 ZhihuDailyForwarder,将这个项目部署到 appfog 上,再将 ZhihuDaily.py 中原来的 API 地址替换成 appfog 上的项目首页地址,就可以正常的采集了。

完整部署的步骤:

  1. 下载 ZhihuDailyForwarder 项目代码,部署到 appfog 或其他支持 nodejs 的服务器上
  2. 下载

项目代码,参照 readme.txt 中说明,修改 app.yaml 及 config.py 中相关设置

  • 进入 KindleEar 项目文件夹,修改 books/ZhihuDaily.py,修改 http://news.at.zhihu.com/api/1.1/news/latest 为第一步中部署完毕的 ZhihuDailyForwarder 首页地址,例如 http://example-zhihu.aws.af.cm
  • 部署 KindleEar 到 Google App Engine
  • 进入部署完毕的 KindleEar 网站,设置自己的 Kindle 邮箱,并订阅知乎日报,当然别忘了在 Amazon 那边设置允许发送邮件的邮箱地址为 Google App Engine 的账号邮箱地址。
  • PS. 知乎并没有正式开放知乎日报的 API,目前使用的 API 为网友嗅探而来,随时有可能被停用,所以不能保证这个功能长期有效。

    感谢 cdhigh 带来的 KindleEar 项目。

    希望此文对 Kindle 用户和知乎日报爱好者有所帮助。

    参考资料

    1. http://www.hi-pda.com/forum/viewthread.php?tid=1213082
    2. https://gist.github.com/zellux/5844688
    3. https://github.com/ohdarling/KindleEar
    4. https://github.com/cdhigh/KindleEar
    5. 知乎日报 Feed 转发服务 nodejs 版本

    —EOF—

    分享到:
    发表评论?

    3 条评论。

    1. 偶然看到你的GoAgentX项目中使用了我写的一小段代码THUserNotification,然后就点进你的博客了,看了你写的文章,受益颇多,学习了~~~

    2. 有南方周末的py吗?我折腾半天,搞不定,而且上传部署后不能在feeds中看到南方周末 :sad: :sad:
      谢谢!

    发表评论


    注意 - 你可以用以下 HTML tags and attributes:
    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>