ROME解析 百度 RSS

利用Rome解析Rss 利用Rome解析Rss,Rome 是 java.net 上的一个开源项目Rome需要JDK1.4以上版本和JDom.jar 立即下载
Java代码
  1.   
  2. #   Unless required by applicable law or agreed to in writing, software   
  3. #   distributed under the License is distributed on an "AS IS" BASIS,   
  4. #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   
  5. #   See the License for the specific language governing permissions and   
  6. #   limitations under the License.   
  7. #   
  8. datetime.extra.masks=yyyy-MM-dd HH:mm:ss|yyyy-MM-dd HH:mm  
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
#
datetime.extra.masks=yyyy-MM-dd HH:mm:ss|yyyy-MM-dd HH:mm



这个是我在用 ROME时候,因为163和天极时间解析问题 而在ROME发布包里修改后可以的,因为ROME本身提供了这样的支持, 还有就是现在baidu解析上还有问题(在这里感谢下netbus )

如果哪位朋友知道 请指教......


在这里顺便介绍下ROME这个lib:


ROME是一个基于Java的开源程序包。ROME提供了一组Atom/RSS工具类,以使得用Java可以更方便和快捷的来操作大部分Syndication格式数据。目前最新版本为0.9,已经支持的格式包括:RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3 和 Atom 1.0。

ROME包含了一组解析器和生成器,以使得在程序中不仅能够方便的解析各种格式的数据,也可以方便的生成出所指定格式的数据。ROME的解析器和生成器是配合使用的,解析器在解析完源数据后,会生成一个ROME提供的中间对象(SyndFeed),这个对象包括了源数据中的所有信息,然后生成器以这个对象(SyndFeed)作为媒介,输出成程序所指定的数据格式。

使用ROME的解析器对读取一个Feed的操作是非常简单的,解析器可以从一个网址、一个本地文件或文件流中读取转换数据:
Java代码 复制代码
  1.   
  2. URL feedUrl = new URL("http://www.java.com/rss.xml");   
  3. SyndFeedInput input = new SyndFeedInput();   
  4. SyndFeed feed = input.build(new XmlReader(feedUrl));  
URL feedUrl = new URL("http://www.java.com/rss.xml");
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));


此时,就把http://www.java.com/rss.xml这个地址的Feed数据转换成了ROME的对象SyndFeed。要将这个SyndFeed重新转换生成为指定的Syndication格式数据,操作也是比较简单的:

Java代码 复制代码
  1. Writer writer = new FileWriter("./test.xml");   
  2. feed.setFeedType(feedType); // 设定feed输出的格式   
  3. SyndFeedOutput output = new SyndFeedOutput();   
  4. output.output(feed, writer);   
  5. writer.close();  
Writer writer = new FileWriter("./test.xml");
feed.setFeedType(feedType); // 设定feed输出的格式
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed, writer);
writer.close();

以上是演示了如何从一个存在的Feed地址里读取解析到再输出生成一个Feed的过程。实际上,在ROME里,还可以直接操作SyndFeed来构造Feed数据:

Java代码 复制代码
  1. // 构造一个SyndFeed新对象   
  2. SyndFeed feed = new SyndFeedImpl();   
  3. // 设置Feed类型   
  4. feed.setFeedType(feedType);   
  5. // 设置Feed基本信息   
  6. feed.setTitle("测试Feed");   
  7. feed.setLink("http://www.thedevlog.com");   
  8. feed.setDescription("测试使用ROME来构造Feed数据");   
  9. // 构造Feed items列表   
  10. List entries = new ArrayList();   
  11. SyndEntry entry;   
  12. SyndContent description;   
  13. // 构造一个新的节点并添加到列表中   
  14. entry = new SyndEntryImpl();   
  15. entry.setTitle("ROME v1.0");   
  16. entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01");   
  17. entry.setPublishedDate(DATE_PARSER.parse("2004-06-08"));   
  18. description = new SyndContentImpl();   
  19. description.setType("text/plain");   
  20. description.setValue("Initial release of ROME");   
  21. entry.setDescription(description);   
  22. entries.add(entry);   
  23. // 设置更多的节点...   
  24. // 将节点列表赋给feed对象   
  25. feed.setEntries(entries);   
  26. // 输出feed   
  27. Writer writer = new FileWriter("./test.xml");   
  28. SyndFeedOutput output = new SyndFeedOutput();   
  29. output.output(feed, writer);   
  30. writer.close();  
// 构造一个SyndFeed新对象
SyndFeed feed = new SyndFeedImpl();
// 设置Feed类型
feed.setFeedType(feedType);
// 设置Feed基本信息
feed.setTitle("测试Feed");
feed.setLink("http://www.thedevlog.com");
feed.setDescription("测试使用ROME来构造Feed数据");
// 构造Feed items列表
List entries = new ArrayList();
SyndEntry entry;
SyndContent description;
// 构造一个新的节点并添加到列表中
entry = new SyndEntryImpl();
entry.setTitle("ROME v1.0");
entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01");
entry.setPublishedDate(DATE_PARSER.parse("2004-06-08"));
description = new SyndContentImpl();
description.setType("text/plain");
description.setValue("Initial release of ROME");
entry.setDescription(description);
entries.add(entry);
// 设置更多的节点...
// 将节点列表赋给feed对象
feed.setEntries(entries);
// 输出feed
Writer writer = new FileWriter("./test.xml");
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed, writer);
writer.close();


整个过程是十分简单的。除了上述功能外,通过ROME还可以将两个或多个Feed合并为一个Feed,将一个Feed拆分为多个Feed等。

更多内容和使用方法,请参考ROME的官方资料:ROME,开发文档教程,API文档。
java中rss解析器(rome.jar和jdom.jar)示例 主要介绍了java中rss解析器(rome.jar和jdom.jar)示例,需要的朋友可以参考下 立即下载

相关推荐

FPGA以太网通信实战(一):实现MDIO接口驱动,掌控PHY芯片的钥匙

本文介绍了以太网通信技术及其核心组件。首先概述了以太网的发展历程,从标准以太网(10Mbps)到万兆以太网(10Gbps)的技术演进。重点分析了以太网接口的两大核心部件:MAC控制器负责数据链路层协议处理,PHY芯片负责物理信号转换和连接管理。文章详细解读了MDIO接口规范,包括帧格式和读写时序,并以YT8531 PHY芯片为例,介绍了其寄存器配置方法。最后设计了一个FPGA实现方案,通过MDIO接口完成PHY芯片的软复位和状态监测功能,并利用LED指示灯实时显示网络连接速率。

weixin_64402689的博客 1661

Rss,Atom聚合规范的XML文件解析(Rome,rssutils)

1.通过Rome插件可以简化对这两种规范文件的解析难度!Rss,Atom一般用在网站订阅功能,可以实现网络资源共享,用户可以通过客户端软件直接浏览各大网站已订阅的文章。简单的来说,电子订阅的特点就是,可以将多个网站上频繁更新的内容如:博客,新闻,聚合到一个网页列表上。ff可以下载sage插件解析,IE7可以直接解析。以下是读写操作的代码示例: Java代码 1.package rss;...

gaozzsoft的专栏 354

LCD工程师必看:MIPI DSI的LP/HS模式切换全流程拆解(附高通平台实测)

本文为LCD工程师深度解析MIPI DSI接口中低速(LP)与高速(HS)模式切换的全流程。文章结合高通平台实测波形,从协议状态机、时序关键参数到实战调试案例,系统拆解了模式切换的本质、协同机制及常见问题排查方法,重点阐述了LP模式在低功耗控制与HS模式在高速数据传输中的核心作用与切换时序。

weixin_29240711的博客 547

rss reader 解析和创建(Rome rss lib)

    pageEncoding="UTF-8"%>        URL feedUrl = new URL(            "http://host:8081/struts2/rss-xml/2011060905.xml");    SyndFeedInput input = new

tianxin_star的专栏 785

使用trae自动生成前后端分离的web应用程序

使用ai自动生成前后端分离的web应用程序

一介书生 2524

单节锂电池充电管理芯片应用原理阐述及应用领域

当电池电压超过2.9V时,采用恒流模式对电池充电,充电电流由PROG 管脚和GND之间的电阻RPROG确定。充电电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置当充电电流在达到最终浮充电压之后降至设定值1/10时,WD4054将自动终止充电循环。在待机模式中,WD4054 对 BAT 引脚电压进行监控,只有当 BAT 引脚电压低于再充电阈值电压4.1V时(对应电池容量80%~90%),才会开始新的充电循环,重新对电池进行充电,这就避免了对电池进行不必要的反复充电,有效延长电池的使用寿命。

weixin_41141180的博客 943

初学 Rome 之解析RSS

beidou321的专栏 1131

ZYNQ裸机LWIP双网口实现

文章目录前言一、LWIP双网口二、使用步骤1.部分说明2.部分代码总结 前言 一、LWIP双网口 由于项目需要多通讯口,查阅资料发现lwip支持多网口操作。于是,就开搞了。 二、使用步骤 1.部分说明 利用xemac_add函数在网卡链表中添加一个网卡,即使用netif块重复xemac_add操作。 先用轮询的方式实现双网口,后期修改为中断模式 2.部分代码 导入官方例程LWip echo server, 修改main函数,增加一个netif块 #if LWIP_IPV6==0 #if L..

weixin_35865280的博客 1万+

用Rome解析RSS

 用Rome解析Rss的例子 需要的jar包      rome.jar 可到http://wiki.java.net/bin/view/Javawsxml/Rome下载最新的      jdom.jar   java代码   package com.test; import java.net.URL; import java.util.List; impor...

风之影 916

ROS相机内参标定详细步骤指南

相机标定的目的是为了确定相机内部参数和外部参数,以便修正图像并将图像坐标映射到世界坐标,或者从世界坐标映射到图像坐标。这个过程是计算机视觉和三维感知任务的关键步骤之一,它有以下主要目的: 1. **减小畸变**:相机镜头和传感器可能引入径向和切向畸变,使得图像中的直线变得弯曲或者物体的形状不准确。通过标定相机,可以矫正这些畸变,使图像更准确。

m0_56661101的博客 1万+

避开SAM3安装大坑:手把手教你用国内镜像和Modelscope权重快速跑通Demo

本文详细介绍了如何在国内环境下快速部署SAM3视觉大模型,包括使用国内镜像加速Python包安装、通过Modelscope获取权重文件以及解决CUDA 11.8等低版本适配问题。手把手教你避开常见安装陷阱,实现高效Demo运行。

weixin_30642561的博客 1407

使用Rome解析百度RSS

public class TestParse { private static result r; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public void parseRss(String rss, String keyword) { try { URL url = new URL(rss);

zjjee的专栏 1866

零基础学GPU KMD--8. 内存管理:GPU 显存与系统内存的协同​8.1 显存分配策略:GEM / TTM 原理

支持 VRAM、GTT(Graphics Translation Table)、SYSTEM 内存的动态迁移与缓存管理。:若缓冲区在 SYSTEM,TTM 分配 GTT 条目并建立页表映射,使 GPU 可直接访问。:系统内存中预留给 GPU 直接访问的区域,通过 GPU 的 MMU 做地址翻译。你需要我继续展开这一部分吗?​ 为复杂离散 GPU 设计,应对大容量 VRAM、多内存域、显存迁移等问题。:重量级、功能全,适合大容量、多内存域的离散 GPU,强调显存迁移与统一管理。

amy_mhd的博客 185

java解析RSS信息

java解析百度、网易、新浪等RSS订阅 1.需要引入rome.jar这个jar包(下载) 2.在百度、网易、新浪等RSS频道找到自己感兴趣的PSS地址,比如: 网易体育:http://news.163.com/special/00011K6L/rss_newstop.xml 3.定义一个javabean,以便于获取数据 public class RSSItemB

天马波波的专栏 4551

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RSS解析工具

ROME is a set of Atom/RSS Java utilities that make it easy to work in Java with most syndication formats: RSS 0.90 RSS 0.91 Netscape RSS 0.91 Userland RSS 0.92 RSS 0.93 RSS 0.94 RSS 1.0 RSS 2.0 Ato...

elstage的博客 669

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java rss rome_java使用rome.jar实现rss阅读功能

rome是一个很好用的解析rss的工具包,支持rote格式,最近在项目中使用了此包,共享给大家。在此只公开部分代码public class FeedReader {public static void main(String[] args) {String source = "http://www.36kr.com/feed";// source = "http://news.163.com/sp...

weixin_34900026的博客 306

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Rome解析Rss

用Rome已经有好长时间啦,今天把自己的学习东西拿出来和大家一起分享下,有什么不足的地方还请指出: 下面是一个简单的对Rome进行解析的操作,使用JUnit进行测试,Rome文件可以自己下载,具体代码如下: [code="java"] import java.net.URL; import java.util.List; import org.junit.Test; i...

jackzhangyunjie的专栏 358

Rome读取RSS

需要的jar包      rome.jar  、   jdom.jar import java.net.URL; import java.util.List; import com.sun.syndication.feed.synd.SyndCategory; import com.sun.syndication.feed.synd.SyndContent; impo

jazywoo_在路上 1179

使用rome创建RSS格式的xml

 项目文档里推荐使用rome或rsslib4j来生成rss格式的xml。rome是dev.java.net下的一个开源的项目,是一个“解析、创建、发布RSS和ATOM格式”的工具集,支持RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, a

Lovejava的专栏 2178

JAVA使用ROME读取百度RSS的编码错误问题

这里就不贴上源代码了,来讲一下遇到的问题。 在使用JAVA读取RSS的时,使用分类新闻订阅都没有什么问题,但是这并不符合我的需求,我要对特定的内容进行订阅。 百度的关键词订阅正合我意,但是当我将URL改为关键词订阅的URL时,发生了报错。 查了下资料说是编码格式的问题。起初我以为是参数没有进行urlencode的原因,修改后并无效果。 后来发现是XML的编码原因,百度的关键词订阅是

晨韵风的博客 776

java使用rome.jar实现rss阅读功能

rome是一个很好用的解析rss的工具包,支持rote格式,最近在项目中使用了此包,共享给大家。在此只公开部分代码public class FeedReader { public static void main(String[] args) { String source = "http://www.36kr.com/feed"; // source = "http://new...

418

remot解析rss

参考:https://blog.youkuaiyun.com/baidu_22796075/article/details/83276876 业务需求:我们需要对一个网站进行爬虫,但是该网站可能会有防爬虫机制,当然我们可以用webdriver+jsoup来解决,但是如果这个网站有Rss订阅的话,我们完全可以对Rss进行爬取,因为这个Rss上面有你需要爬取的全部数据,现在的问题就是如何去解析Rss的xml结构内容。 依赖 <!-- jsoup--> <dependency>

Ting1king的博客 479

Java RSS Lib 对比

一. Rome    Rome 是 java.net 上的一个开源项目,现在的版本是0.5。为什么叫Rome呢,按它的介绍上的说法,有个“条条大路通罗马”的意思,有些RSS的意味。Rome可能是 sun 公司从自己某个子项目中抽离出来的,package和类的命名就象j2sdk一样感觉规范。功能上支持RSS的所有版本及 Atom 0.3(Atom是和RSS类似的一种内容聚合的方式)。Rome 本身是

Lovejava的专栏 1181

java rss lib 评测

前两天上新浪,看到新浪 RSS 频道开通,不容易啊,等了这么久。        我的目标是做一个简单的portlet,每次读取新浪的RSS站点显示最新的新闻条目。    花了一个下午,去sourceforge和google 上搜索 opensource 的 java rss lib,还真有不少(顺便提一下,sourceforget的搜索真的很烂)。简单过滤以后,觉得以下三个类库比较有搞头。Ro

魔幻之翼的坚持 889
上一篇: 使用WebWork和Rome轻松暴露RSS
下一篇: Rome使用简单说明一(基本应用)
yefei679
博客等级 码龄19年 54粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值