KindleEar 搭建教程:推送 RSS 订阅到 Kindle

“Kindle推送”相关阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 802 条留言

  1. 从前天起,我的kindle 突然无法收到推送了,但是之前都是正常的,而且我看投递日志也显示ok,就是没收到推送。

    • 登录亚马逊账户,在“我的内容”页面把“显示”选择为“等待发送”,看一下有没有待推送的队列?

        • 投递日志 OK,认可列表也没问题,可能就是意外情况了。建议手动推送几次测试一下,顺便看看 GAE 日志有没有异常,在测试之前,先重启一下 Kindle 让它重新联网。

  2. 设置为8:00推送,实际推送时间7:05,状态为OK,当时Kindle开启了飞行模式,后来10点多钟关闭飞行模式仍未收到,最后手动推送,请问如何解决?
    (按说亚马逊服务器会暂存推送,直到Kindle联网后再发送)

    • 推送时间有误建议检查 Kindle 设置中的时区,确保是 GMT +8:00。

      推送时如果 Kindle 没联网,亚马逊服务器确实会在联网后重新尝试推送,感觉你遇到的情况可能是个意外,建议重复测试几次,以排除可能的意外情况。

  3. 一部分推送显示nonews,一部分显示over quota 是怎么回事哦 麻烦给点意见哦

    • nonews 有两种情况,一种是订阅的内容没有更新,另一种是订阅的脚本有问题,这可以在 Google Cloud 的日志中看到。

      over quota 是指你用完了 GAE 的免费额度,这通常是因为推送了过多次导致的。需要等待 24 小时后(美国时间)额度重置之后才能再次正常使用。

        • 错误提示出现这个
          Traceback (most recent call last):
          File “/base/data/home/apps/b~ultra-tube-251202/worker:1.420628198328568986/apps/Work/Worker.py”, line 399, in push_comic_book
          ) in book.gen_image_items(img_list, chapter_url):
          File “/base/data/home/apps/b~ultra-tube-251202/worker:1.420628198328568986/books/base.py”, line 1456, in gen_image_items
          “Failed to download %s: code %s” % url, result.status_code
          TypeError: not enough arguments for format string

          • 看起来是脚本有问题。从错误提示看,应该是在格式化字符串时缺失了某个参数。建议检查订阅脚本中 gen_image_items() 函数相关的代码。

  4. 搭建成功,刚刚测试了一下,有几个疑问:
    1.在gae里vi修改config.py文件是在当前目录重新运行uplod文件生效吗
    2.关于自定义rss源的无论选择是否合并为一本书籍,都会合并成一本kindleEar推送,为什么
    3.是否有办法使所有的自定义rss源通过翻墙转发器转发,已勾选翻墙选项,不生效

    最后感谢书伴,感谢博主的分享。

    • 1、是的。要想使修改后源代码生效,就需要在每次修改后重新上传源代码。
      2、“自定义 RSS”始终都是合并在一起的,“多本书籍合并投递为一本”这个选项其实指的是把自定义 RSS 和内置订阅合并在一起的意思。如果你需要某个 RSS 源单独推送,建议在 KindleEar 的 books 文件夹中添加订阅脚本。
      3、如果你指的是“归档和分享”中的选项,可能你误会了它的用途。在这里它只是个 URL 转发器,和 RSS 源的获取没什么关系,FAQ 里对此功能有解释。

      如果你想要让自定义 RSS 使用转发器,首先你需要自己搭建一个转发服务器了,KindleEar 自带的那个应该是失效的。然后在使用的时候,有两种方法使用转发 URL,要么通过源代码修改 Feed 地址(如存储自定义 RSS 的 Subcribe.py 或处理 Feed 的 Worker.py),要么添加自定义 RSS 时候直接填写转发 URL。

      • 十分感谢您的回复!
        前两点已经没有疑问了。
        但关于第三点,我是搭建了转发服务器的(国内vps),而且通过监听log是可以看到请求的,但测试发现默认订阅源里只有知乎日报走了转发器,所以我不明白那个翻墙选项的勾选与否有何意义。

        • 上一条回复说过了:“归档和分享”中的翻墙选项,只是用来转发分享链接 URL 的,和 RSS 源的获取没有关系。

          默认的知乎日报订阅使用了转发器,是因为订阅脚本里进行了转发设置。在订阅脚本里转发相关的代码如下所示:

          class ZhihuDaily(BaseFeedBook):
              #...
              def url4forwarder(self, url):
                  ' 生成经过转发器的URL '
                  return SHARE_FUCK_GFW_SRV % urllib.quote(url)
                  
              def ParseFeedUrls(self):
                  #...
                  url = self.url4forwarder(self.feeds[0][1])
                  #...
          • 明白了,原来是分享链接,代码部分配置转发器的时候已经看过,我只是疑惑那个翻墙选项的作用。
            感谢回复。

  5. 你好,我在亚马逊已添加gmail,Engine我也添加了gmail,在kindle’s Ear中也添加了gmail(三个同个邮箱)。问题日志显示:投递状态显示 wrong SRC_EMAIL。为什么?

        • 如果确认设置无误,就需要【仔细检查】你在 GAE 设置添加的邮箱和 KindleEar 配置的邮箱(设置页面保存按钮上方显示的邮箱)是否是一致的,确保没有失误的输入。之前有网友因为其中两个字母顺序输错导致出现了这个问题。

          • 如果这样子还不行,是不是我有毒?如果方便的话,您能否用邮件回复我,因为评论无法发图,非常感谢。

            • 可以。你可以截图一下 KindleEar 设置页面和好GAE 配置页面,然后发给书伴邮箱。书伴邮箱在本站页面底部“联系”处获取。

  6. 书伴你好,我按照教程到了第三步设置推送使用默认密码登录不进去该怎么解决?

  7. 你好。请问EAR搭建好了,自定义RSS无法推送怎么弄,像网站有提供RSS的可以直接使用吗

    • 只要是可用的是 RSS 源都可以使用。无法推送的表现是什么?日志显示 nonews 吗?建议把问题描述具体一些。

  8. 书伴你好,创建 Google App Engine 应用需要注册结算账户吗?云端 Shell 中命令创建好像成功不了么?如果需要注册结算账户,应该怎么操作,程序小白一名,谢谢了。

      • 我现在访问不了我的http://APPID.appspot.com ,所以怀疑是GAE没创建成功。但是代码提示我输入邮箱地址和APPID了。也打开了“允许不够安全的应用”这一项。我没发现什么问题,FQ也能成功,就是访问不了appspot网址

  9. 后端实例是什么,免费的9小时,我怎么用超了,有什么影响吗,请问怎么减少?

    • KindleEar 的前端实例是 default,后端实例是 worker。用超了当天就不能用了,配额每 24 小时重置一次,重置时间点是美国时间零点。你都做了什么操作呢?正常使用应该是不会超额的。

      • 我也不太清楚,因为我的kindleEar好像不能自动推书,我一直在手动推书,添加一个订阅源推一次,中间也打开过几次Googlecloud,点过crob作业里面的立即执行,反正就是我想解决怎么自动推书。

        • 那可能就是这些操作导致的了。对于 KindleEar 来说,只要开启了“使能自动定时投递”就表示可以按照你设置的时间自动推送了,至于无法成功自动推送,问题一般出在订阅源上,这就需根据日志来排查问题了。

  10. 书伴您好,想请问一下打开Google cloud shell 时(右上角的>-),一致处于正在连接状态,输入不了代码,请问有什么解决办法嘛

    • 这应该是网络连接的问题。如果你使用的代理不是全局的,可以设置成全局试试。如果还不行可能就需要更换代理了。

        • 如果自动上传脚本没有提供修改选项,就需要手动拉取代码自行修改。

          以本文提供的脚本为例,第一次上传之后会留下源代码,直接在云端 Shell 中用 vi 命令修改源代码中的配置文件,然后再次运行脚本,选择不更新源代码上传就可以了。

          根据这个需求,稍候我会更新一下自动上传脚本,让它可以可以询问式修改一些配置。除了灰度之外,如果还有其它需要修改的配置选项,请留言提示。

  11. 书伴您好!我根据您的教程成功部署了Kindle Ear, 非常感谢您和程序作者!但是有个问题,为什么我订阅的部分RSS源没有输出呢?该怎样查询日志?

    • 如果你指的是在 GAE 查看日志,可以点开页面左上角的菜单,在菜单中找到日志菜单项。RSS 的输出问题一般可以在日志中找到具体原因。

  12. 您好,我根据您的教程搭建了kinddlear,但是在测试投递时一直存在“wrong SRC_EMAIL”,即使多次删除添加并且确认电子邮箱地址,仍然无济于事,请问要怎么解决啊,谢谢您

      • 是的,已经确认添加了我的谷歌邮箱账号,今天早晨又试了一下,仍然存在这个问题,这里的评论无法带图,不知您是否可以用邮箱回复我一下,方便的话想请求您的帮助,万分感谢

    • GAE 有免费限额,个人使用一般不会超出这个限额。如果担心会产生费用,可以在 GAE 的设置中,修改“应用设置”,把“每日支出限额”修改为 0 美元即可。