最近一直在优化十年之约的RSS接口,感觉抓取每天抓取的频率和内容有点少,而且我也想订阅一些其他的RSS内容,就简单研究了一些。
RSS是什么?
RSS是一种网页内容联合格式(web content sydication format)。它的名字是Really Simple Syndication的缩写。
RSS是XML的一种。所有的RSS文档都遵循XML 1.0规范,该规范发布在W3C网站上。 在一个RSS文档的开头是一个
简单实现抓取
POM引入rome
包,这里我们用最新版的,不再使用旧版本
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome</artifactId>
<version>1.15.1</version>
</dependency>
package com.bcrjl.backend.snzy.rss;
import com.rometools.rome.feed.synd.SyndEntry;
import com.rometools.rome.feed.synd.SyndFeed;
import com.rometools.rome.io.SyndFeedInput;
import com.rometools.rome.io.XmlReader;
import lombok.extern.slf4j.Slf4j;
import java.net.URL;
/**
* RSS 订阅
*
* @author xiaose
* @date 2022-05-25
*/
@Slf4j
public class FeedGrabFocus {
public static void main(String[] args) {
try {
String url = "https://blog.yanqingshan.com/feed/";
try (XmlReader reader = new XmlReader(new URL(url))) {
SyndFeed feed = new SyndFeedInput().build(reader);
System.out.println(feed.getTitle());
System.out.println("***********************************");
for (SyndEntry entry : feed.getEntries()) {
System.out.println(entry);
System.out.println("***********************************");
}
System.out.println("Done");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
接下来就要整合域名和quartz定时任务来搞一下动态订阅数据。
效果挺好的。
看到你这个文章忽然想起我刚学习编程的时候。
我的第一个程序就是一个本地RSS阅读器,主要掌握了ini配置文件、文件流库的使用。
语言该不会是C吧?
猜对一半,C++++,又称C#
快进到一款RSS阅读器
逐步迭代升级中。