不再依赖Google Reader的Kindle Reader

来自linux中国网wiki
跳到导航 跳到搜索

Question

一直在纠结,现在怎样在kpw 上用rss呢 以前的狗耳朵什么的都收费了呢, 找了n久,终于找到个办法了,还好,哥的vps又发挥更大的作用了

Solve

使用说明详细情况

Linux用户使用方法(桌面用户/VPS用户)

1.下载最新版本的v0.6.5
2.解压后,只保留lib目录和kindlereader.py和config.sample.ini两个文件,其他文件都不需要
3.将config.sample.ini改名为config.ini,并修改其中的内容,请参考上一段对windows用户的解释
4.Linux用户特有的选项:grayscale,将其设为1可以让mobi文件更小一点,效果一般,必须要安装python的pillow库
5.尽量确保你的python版本为2.7,其他版本均未测试。如果默认版本不是2.7,最好单独安装一个,方法可以参考下一段针对虚拟主机用户的说明
6.下载下载亚马逊官方的mobi生成工具kindlegen,http://s3.amazonaws.com/kindlegen/kindlegen_linux_2.6_i386_v2_8.tar.gz 解压后只需要kindlegen一个文件,跟kindlereader.py和config.ini放在同一个目录下
7.运行python kindlereader.py即可,可以通过crontab定期运行,脚本可以参考下一段

Linux用户使用方法(虚拟主机用户,以Hostmonster为例)

如果你的系统默认python版本就是2.7(运行python,查看显示的版本),那么使用方法完全和上面桌面/VPS用户一样
如果你系统默认的python不是2.7版本,请按照下面的说明安装2.7版本的python
修改~/.bash_profile文件,确保文件中有以下内容(如已有某行,不用再写这一行)
PATH=$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib/
export PATH
export LD_LIBRARY_PATH
安装python
$ wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz
$ tar -xvfz Python-2.7.4.tgz
$ cd Python-2.7.4
$ ./configure –prefix $HOME
$ make install
确保kindlereader.py和config.ini、kindlegen和lib目录都存在的情况下,运行~/bin/python kindlereader.py即可
可以使用脚本以便cron来运行,假设你的家目录是/home1/xxx/,你将kindlereader.py、kindlegen和config.ini存放在/home1/xxx/kindle/下面,那么写一个kindle.sh放在同一目录下
#!/bin/sh
cd /home1/xxx/kindle/
/home1/xxx/bin/python kindlereader.py
在虚拟主机控制面板里的“时钟守护作业”中填入/home1/xxx/kindle/kindle.sh,我选的运行频率是0 15 */3 * *,即每三天运行一次,在主机时间的每天15点。
顺便可以再做一个cron任务,用于清理生成的data目录,填入rm -rf /home1/xxx/kindle/data/ 即可,频率和上面一样,但时间要推迟一点,比如0 16 */3 * *
  
  

 ps 我的配置文件里面的一些要手工改的地方
; 发件人,请使用亚马逊注册邮箱,或你的”Your Kindle’s approved email list”中的其他邮箱
from = [email protected]

; 亚马逊提供的投递邮箱地址,注意 @free.kindle.com只能投递到wifi, @kindle.com可以投递到3G但要收费
; 非3G版kindle用户请使用@kindle.com邮箱,不收费
; 也可以填写一个其他邮箱地址,由该邮箱转发到你的kindle邮箱地址
;to = [email protected]
to = [email protected]

; smtp服务器需要认证时请填写下面两项,任何一项不填写则认为你的smtp服务器不需要认证
username = 36lovelove
password = xxxx

[feeds]
; 需抓取的Feed列表,请输入包含协议名的完整地址(如http://www.a.com/rss/)
; 请给每个feed加上数字编号,如feed1、feed2等
; 如果需要强制输出全文rss,请在完整的URL地址前加入”full”(如fullhttp://www.a.com/rss/)
; 强制全文输出会较为缓慢,且存在不能读取或解析不正确的情况,这时请除去该feed前的”full”
; 如果配置文件中写入的所有feed都不能被全文读取,而你又在中国大陆,有可能是其中一个feed被墙导致的,这时请除去该feed前的”full”
feed1=fullhttp://rss.sina.com.cn/tech/rollnews.xml

***** 使用过程 **********

在自己的laptop 是试过是ok的 加上果什么的 5.4 M感觉体积有点大了

[root@vps kindlereader]# crontab -l
#4 kpw rss
* 08 * * * python /data/kindlereader/kindlereader.py >/dev/null 2>&1
#32 08 * * * /data/kindlereader/runkread >/dev/null 2>&1
32 16 * * * /data/kindlereader/rmlog >/dev/null 2>&1

[root@vps kindlereader]# cat /data/kindlereader/rmlog
#!/bin/bash
cd /data/kindlereader/ && /bin/rm -rf data/

[root@vps kindlereader]# cat runkread
#!/bin/bash
#python /home/evan/program/kindlereader/kindlereader.py
cd /data/kindlereader/
python kindlereader.py

evan@latop:~/program/kindlereader$ /home/evan/program/kindlereader/runkread
07-06 16:06:593 INFO welcome, start …
07-06 16:06:593 INFO [1/2]:http://www.cnbeta.com/rss
07-06 16:06:593 INFO [2/2]:
07-06 16:06:597 ERROR error(): string index out of range , retry
07-06 16:06:598 ERROR fail(): string index out of range
07-06 16:06:598 ERROR fail:():illegal feed:
07-06 16:06:425 INFO from feed1 update 10 items.
07-06 16:06:425 INFO generate .mobi file start…
Found SRCS section number 10, and count 2
beginning at offset 5278 and ending at offset 29d0
done
07-06 16:06:628 INFO .mobi save as: /home/evan/program/kindlereader/data/KindleReader-20140706-160652.mobi(40KB)
07-06 16:06:628 INFO send mail to [email protected] …
07-06 16:07:962 INFO used time 14.3690559864s
07-06 16:07:963 INFO done.

参考

https://github.com/evan886/kindlereader

Kindle Reader — kpw RSS 订阅

不再依赖Google Reader的Kindle Reader

开源可自建的RSS订阅器 - FreshRSS

https://freshrss.org/