RSS简介
RSS(也叫聚合内容,Really Simple Syndication)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。通俗的说就是是某一站点用来和其它站点之间共享内容的一种简易方式。以其独特的功能迅速在各大网站和博客中普及开来,RSS虽然功能简单,但能给用户带来很多便捷之处,它可以订阅BLOG(你可以订阅你工作中所需的技术文章;也可以订阅与你有共同爱好的作者的Blog,总之,你对什么感兴趣你就可以订什么),也订阅新闻(无论是奇闻怪事、明星消息、体坛风云,只要你想知道的,都可以订阅),你再也不用一个网站一个网站,一个网页一个网页去逛了。只要这将你需要的内容订阅在一个RSS阅读器中,这些内容就会自动出现你的阅读器里,你也不必为了一个急切想知道的消息而不断的刷新网页,因为一旦有了更新,RSS阅读器就会自己通知你。
当然,RSS的出现对于网站的运营者和网站访问者都是双赢的。
对于运营者:
一是投递信息产生广告收入,比如一个用户用RSS订阅了高尔夫的内容,那么每条信息下面都会精准地出现一条高尔夫相关产品的广告,从高尔夫球杆到会员卡。
二是做个人门户,让所有的博客都变成这个门户的记者和编辑,利用流量收取广告费。蔡强调,我们不是单纯做RSS工具本身,因为工具只是初级阶段,是卖不了多少钱的,而是要通过工具聚拢人气,做成个人门户。
三是多平台统一,致力于开发和建设多渠道、多设备的整合信息服务平台,为用户提供随时随地、任意设备、个性化的信息服务。用户可以借助PC、手机、PDA、数字电视等多种终端,通过“看天下”“个人门户”服务,实现个性化订制,从而获取并管理互联网上的最新资讯。
对于访问者:他们能在第一时间比较集中的收集到自己想要的信息,再也不用逐个去访问网站的每个板块,提高了获取信息的效率。
那么RSS到底怎么实现呢?我们要怎么样才能在我们的网站上增加RSS订阅功能呢?
要提供RSS功能,每个网站的服务器上必须提供一个XML形式的文件(这个文件可以通过工具生成,如:MyRSSCreator、FeedFire等等,当然也可以手工编辑)
参考 https://blog.csdn.net/gooduler/article/details/46812119
java 用rome实现 RSS订阅Demo
复制XML<!--使用rome实现RSS 订阅-->
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome</artifactId>
<version>1.8.0</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
复制Javapackage com.leixing.blog.controller;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.rometools.rome.feed.rss.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @explain RSS订阅Demo
* @author luolei
* @date 2020年02月29日
*/
@RestController
public class FeedController {
@GetMapping(path = "/feed")
public Channel createXml() {
Channel channel = new Channel();
channel.setFeedType("rss_2.0");
channel.setTitle("累行客");// 网站标题
channel.setDescription("累行方能前行");// 网站描述
channel.setLink("http://www.leixing.xyz/");// 网站主页链接
channel.setEncoding("utf-8");// RSS文件编码
channel.setLanguage("zh-cn");// RSS使用的语言
channel.setTtl(60);// time to live的简写,在刷新前当前RSS在缓存中可以保存多长时间(分钟)
channel.setCopyright("©2019-2020 累行客");// 版权声明
channel.setPubDate(new Date());// RSS发布时间
channel.setGenerator("luolei");
List<Item> items = new ArrayList<Item>();// 这个list对应rss中的item列表
for(int i = 0; i < 10; i ++) {
Item item = new Item();// 新建Item对象,对应rss中的<item></item>
item.setTitle("累行客 RSS订阅 "+i);// 对应<item>中的<title></title>
item.setAuthor("luolei"+i);
String url = "http://www.leixing.xyz/"+i;
item.setLink(url); //对应 <item>中的<link></link> 有的会去重
Guid guid = new Guid();// 为当前新闻指定一个全球唯一标示,这个不是必须的
guid.setValue(url);
item.setGuid(guid);
//新建一个Description,它是Item的描述部分
Description description = new Description();
description.setType("text/html");
String str = "<p>RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。<a href='http://www.leixing.xyz'>»查看详情</a></p>";
description.setValue(str);// <description>中的内容
item.setDescription(description);// 添加到item节点中
items.add(item);// 代表一个段落<item></item>,
}
channel.setItems(items);
return channel;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
可参考 https://blog.csdn.net/LanSeTianKong12/article/details/52412249
RSS阅读器irreader
订阅网页、RSS和Podcast,具备急速的阅读体验,高品质、免费、无广告、多平台的阅读器。泛用型Podcast播放器。