用Java抓取RSS生成Mobi文件发送到Kindle

最近写了个小工具,通过抓取RSS生成适合Kindle展示的Mobi格式的文件,并发送到Kindle 个人图书馆,也算是继续“自动化”之旅。

代码前前后后写了个把月,趁着放假期间,决定把它搞定。使用方法什么的就不多说了,项目开源到Github上去了,上面有使用说明

这篇文章简单得聊聊项目本身以及总结的一些问题。

项目简介

首先来看看项目的组织结构图:


大致分为三大部分:

  • core:核心部分,定义了RSS相关的基本数据抽象(base)以及所有流程的接口抽象(contract)
  • component:组件(可选),两个组件,一个是对mobi文件进行strip处理,以很好得控制最终文件的大小,另一个是邮件发送
  • impl:对core以及component的实现。
其他几个部分:util中定义了一些帮助方法,Service是程序的入口,也是各个流程接口方法的衔接与组合调用,resources(不包含在上图中)定义了一大堆各种配置。用Java写程序就是这样,你懂的。

core


base包不必多说,一个RSS源大概可以分解为三个对象:一个Feed包含了N个Entry,每个Entry都包含了文本内容(desc)以及若干个Image。
说说核心流程的抽象:(按照流程顺序说明,不按照图中接口顺序)

AbstractConfigManager

是一个抽象类,维护了项目最核心的配置文件(resources/rtms.properties),并对其中的配置完整性进行检查。

IFeedLinkProvider

要抓取RSS,必须要有RSS Source(RSS URL)。该接口作为Feed link 的 provider 定义了一个方法来获取所有需要抓取的链接:
/**
     * get parsing rss links
     *
     * @return the String array of all li
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值