calibre可以從RSS源抓取內容,轉換成它所支持格式的電子書,還可以推送到閱讀器設備。下面來看看在calibre圖形界面和命令行下如何實現這些功能。
calibre可以從RSS源抓取內容,轉換成它所支持格式的電子書,還可以推送到閱讀器設備。下面來看看在calibre圖形界面和命令行下如何實現這些功能。
在圖形界面抓取新聞
打開calibre,在工具欄中選那個“抓取新聞”,會看到按語言分類的已經定義好的各類新聞源:
點一下“立即下載”就可以把新聞抓取為電子書了。如果設置了發送到KINDLE的郵箱配置,那么抓取完成后會自動發送郵件進行推送。
如果你有個24小時開機的電腦,可以設置一下計划下載,進行定時推送。
“刪除指定天數前下載的新聞”,和“高級選項”頁中的“最多保留份數”可以設置電子書的保存時間。當鼠標移動到此處時,就會自動顯示幫助,可以自己看。需要說明的是,從我這看到的效果來說,這些選項只對Calibre自己有效。對於Kindle,報刊雜志類的書籍會保存14份,如果沒有特意保留,那么最老的會覆蓋——不過到目前為止我還沒搞到那么多期呢。
自定義新聞來源
點擊“抓取新聞”旁邊的下拉按鈕,選“添加自定義新聞源”,可以自己配置抓取的新聞:
配置方法就是找到你要抓取的新聞的rss地址,加入右下方的“將新聞加入訂閱清單”的源網址處,自己起個名字,再點“添加源”。一個雜志可以加入多個源。在把所有的源加好后,修改一下“訂閱清單標題”,其后一定要“添加/更新訂閱清單”,這樣才能把修改保存下來。否則一切都白費了。
看看我們自定義了什么
點擊一下“切換到高級模式”,就能知道抓取新聞的配置是寫在一個Python文件中的了。例如這個:
1 2 3 4 5 6 7 |
|
Calibre用Python語言把配置保存為一個.recipe的文件。后面用命令行生成雜志的操作會用到這些文件。點擊“顯示訂閱清單文件”,會打開存入自定義源的配置文件的目錄。可以從這里獲得.recipe文件用來在命令行下進行操作。
命令行下生成電子雜志
Calibre附帶的命令行工具ebook-convert可以完成生成電子書的操作。比如使用:
ebook-convert 科技亂彈.recipe .mobi
這會生成一個同名的mobi文件,可以供kindle使用。與在Calibre中生成的電子書的差別是它的標題中包括了日期的一些信息。實際上這更便於推送到Kindle。
.recipe文件可以自己定義,然后復制過來,或者到網上找別人做的配置文件。在嘗試搞自己的自動推送功能時,發現了一些.recipe文件的來源,不過不一定適用於所有的Calibre:
https://github.com/RichardUSTC/calibre-recipes
https://github.com/fengli/ikindle_recipe
命令行推送到Kindle
Calibre也有命令行的郵件發送工具,可以用來進行推送雜志到kindle的工作:
calibre-smtp --attachment 推送的文件名.mobi --relay 郵箱的smtp服務器域名 --port smtp地址(一般是25) --username 郵箱賬號 --password "郵箱密碼" --encryption-method TLS 郵箱名 Kindle設備推送郵箱(類似XXX@kindle.cn) "郵件正文,內容隨便" -v -s "convert"
-s指定郵件主題,推送到Kindle必須是convert。–attachment是指定附件,就是要推送的書了。
也可以使用其它的工具。當然最好是命令行下能進行發送的。因為這樣才能做后面的定時發送。比如我用了mutt,因為我用UBUNTU。怎么使用參考相關文檔就可以了。
簡單定時推送的實現
工具都備齊了,實現定時發送就沒什么問題了。只要使用定時調度工具,定時啟動命令行腳本就行了。在各類操作系統上都有定時調度工具,如Windows的計划任務,Unix/Linux的Crontab工具等。我當然是用Crontab的,附一個簡單的腳本:
1 2 3 4 5 6 7 8 9 10 11 |
|
拋磚引玉而而已。我把生成的.recipe文件復制到單獨的目錄並重新命名,這樣可以用這個腳本通過設定不同的執行時間,將不同目錄中的recipe在不同的時間推送到Kindle。
目前基本功能是有了,以后有時間再搞搞密碼加密解密,失敗重新發送之類的。
一些要注意的問題
使用Kindle的推送功能,當然別忘了把郵箱加入到kindle的認可列表中。可以用Calibre的工具進行測試和手工推送一下。
使用Calibre抓取推送時,發生過首次推送后之后就不成功的情況,后將Calibre中的書名改了一下,手工推送就成功能了。
如果經常推送不成功,可以看看生成的雜志是不是太大。這可能造成發送郵件失敗。降低電子書大小最根本的是減少抓取的內容,包括少加幾個源,減少最老文章天數和每個源的最多文章數等。
其它方法
KindleEar是個運行在Google App Engine(GAE)上的Kindle個人推送服務器,可以自動抓取和推送RSS。由於是運行在雲上的,就不用使用自己的電腦,也不用到點或一直開機了。最近不怎么翻,目前沒研究。
以前愛看豆也提供類似服務,不過最近不知道還能不能用。另外網上有些收費的類似服務可以使用,也不介紹了,各位自己去找就行。
參考
除了上面提到的東東,下面是成此文所參考的一些網文:
http://zodiac1111.github.io/blog/rss2kindle-use-calibre/
http://richardustc.github.io/blog/2013/06/calibre-recipe-howto/
對Calibre轉換電子書格式的說明,比較詳細,但和本文關系不太大:http://blog.csdn.net/ccwwff/article/details/5982552
手工制作電子書:http://www.360doc.com/content/11/0224/12/3968002_95668374.shtml
如何向Kindle推送:http://www.amazon.cn/gp/help/customer/display.html?ie=UTF8&nodeId=200767340
IBM(看來是某粉的作品)的Calibre介紹,算是最全面的中文文檔了:http://www.ibm.com/developerworks/cn/opensource/os-calibre/index.html
另外man和Calibre官方網站上的資料是最重要的參考。