Java初步实现RSS内容订阅
侧边栏壁纸
博主昵称
萧瑟

不是你不够努力,而是你努力不够。

  • 累计撰写 198 篇文章
  • 累计收到 1,407 条评论

Java初步实现RSS内容订阅

萧瑟
2022-05-25 / 6 评论 / 790 阅读 / 已收录
温馨提示:
本文最后更新于2022年05月25日,已超过1044天没有更新,若内容或图片失效,请留言反馈。

最近一直在优化十年之约的RSS接口,感觉抓取每天抓取的频率和内容有点少,而且我也想订阅一些其他的RSS内容,就简单研究了一些。

RSS是什么?

RSS是一种网页内容联合格式(web content sydication format)。它的名字是Really Simple Syndication的缩写。

RSS是XML的一种。所有的RSS文档都遵循XML 1.0规范,该规范发布在W3C网站上。 在一个RSS文档的开头是一个节点和一个规定的属性version,该属性规定了该文档将以RSS的哪个版本表示。如果该文档以这个规范来表示,那么它的version属性就必须等于2.0。 在节点的下一级是一个独立的节点,该节点包含关于channel的信息和内容。

简单实现抓取

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定时任务来搞一下动态订阅数据。

评论 (6)

OωO
  • ::(呵呵)
  • ::(哈哈)
  • ::(吐舌)
  • ::(太开心)
  • ::(笑眼)
  • ::(花心)
  • ::(小乖)
  • ::(乖)
  • ::(捂嘴笑)
  • ::(滑稽)
  • ::(你懂的)
  • ::(不高兴)
  • ::(怒)
  • ::(汗)
  • ::(黑线)
  • ::(泪)
  • ::(真棒)
  • ::(喷)
  • ::(惊哭)
  • ::(阴险)
  • ::(鄙视)
  • ::(酷)
  • ::(啊)
  • ::(狂汗)
  • ::(what)
  • ::(疑问)
  • ::(酸爽)
  • ::(呀咩爹)
  • ::(委屈)
  • ::(惊讶)
  • ::(睡觉)
  • ::(笑尿)
  • ::(挖鼻)
  • ::(吐)
  • ::(犀利)
  • ::(小红脸)
  • ::(懒得理)
  • ::(勉强)
  • ::(爱心)
  • ::(心碎)
  • ::(玫瑰)
  • ::(礼物)
  • ::(彩虹)
  • ::(太阳)
  • ::(星星月亮)
  • ::(钱币)
  • ::(茶杯)
  • ::(蛋糕)
  • ::(大拇指)
  • ::(胜利)
  • ::(haha)
  • ::(OK)
  • ::(沙发)
  • ::(手纸)
  • ::(香蕉)
  • ::(便便)
  • ::(药丸)
  • ::(红领巾)
  • ::(蜡烛)
  • ::(音乐)
  • ::(灯泡)
  • ::(开心)
  • ::(钱)
  • ::(咦)
  • ::(呼)
  • ::(冷)
  • ::(生气)
  • ::(弱)
  • ::(狗头)
泡泡
阿鲁
颜文字
取消
  1. 头像
    1900
    四川省自贡市 Windows 10 · Google Chrome

    效果挺好的。

    回复
  2. 头像
    1900
    四川省自贡市 Windows 10 · Google Chrome

    看到你这个文章忽然想起我刚学习编程的时候。
    我的第一个程序就是一个本地RSS阅读器,主要掌握了ini配置文件、文件流库的使用。

    回复
    1. 头像
      萧瑟 作者
      北京市 Windows 10 · Microsoft Edge
      @ 1900

      语言该不会是C吧?表情

      回复
      1. 头像
        1900
        四川省自贡市 Windows 10 · Google Chrome
        @ 萧瑟

        猜对一半,C++++,又称C#

        回复
  3. 头像
    珂泽
    河南省驻马店市 Windows 10 · Microsoft Edge

    快进到一款RSS阅读器表情

    回复
    1. 头像
      萧瑟 作者
      北京市 Windows 10 · Microsoft Edge
      @ 珂泽

      逐步迭代升级中。表情

      回复