不再依赖Google Reader的Kindle Reader
docker>Evan2018年10月9日 (二) 03:00的版本 (→参考)
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