Atom订阅转成RSS2.0

Octopress博客自带的只Atom协议的订阅,但是最近提交收录网站时,需要使用RSS协议。于是利用周末简单实现了一下。

Atom和RSS

以下为维基百科对Atom和RSS的解释。

RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含了全文或是节录的文字,再加上发用者所订阅之网摘布数据和授权的元数据。 Atom是一對彼此相關的標準。Atom供稿格式(Atom Syndication Format)是用於網站消息來源,基于XML的文档格式;而Atom出版協定(Atom Publishing Protocol,簡稱AtomPub或APP)是用於新增及修改網路資源,基于HTTP的协议。 Atom借鉴了各种版本RSS的使用经验,被許多的聚合工具广泛使用在发布和使用上。Atom供稿格式設計作為RSS的替代品;而Atom出版協定用來取代現有的多種發布方式(如Blogger API和LiveJournal XML-RPC Client/Server Protocol)。而值得一提的是Google提供的多種服务正在使用Atom。Google Data API(GData)亦基於Atom。

可以访问Atom與RSS 2.0的比較,了解更详细的内容。

由此可知,Atom是现在和未来的主要供稿格式,而RSS是一个已经声明被冻结的格式。

Atom转换成RSS

atom2rss.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

<?php $source = $argv[1]; $toFile = $argv[2]; $atom2rssXsl = dirname(__FILE__).'/atom2rss.xsl'; $chan = new DOMDocument(); $chan->load($source); $sheet = new DOMDocument(); $sheet->load($atom2rssXsl); $processor = new XSLTProcessor(); $processor->registerPHPFunctions(); $processor->importStylesheet($sheet); date_default_timezone_set("Asia/Shanghai"); $result = $processor->transformToXML($chan); if (strlen($result)) { file_put_contents($toFile, $result); } ?>

主要依赖的就是进行转换的atom2rss.xml规则。 上述代码可以根据自己的需要设置时区。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始学自动化测试

Selenium2+python自动化33-文件上传(send_keys)

前言 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单。 一般分两个场景:一种是input标签,这种可以用selenium提供的sen...

2969
来自专栏阮一峰的网络日志

文件上传的渐进式增强

文件上传是最古老的互联网操作之一。 20多年了,它几乎没变,还是原来的样子:操作麻烦、缺乏交互、用户体验不佳。在这个新技术日新月异的时代,显得非常落伍。 ? 网...

3706
来自专栏Bug生活2048

微信小程序版博客——图片相关处理

前面提到,小程序服务端的数据是基于Ghost的公共API的,在设计首页文章列表时,为了美观加上了头图,但是服务端没有提供对应的字段(头图url)。

3642
来自专栏salesforce零基础学习

salesforce 零基础学习(六十一)apex:component简单使用以及图片轮转播放的实现

有的时候,我们项目有可能有类似需求:做一个简单的图像轮转播放功能,不同的VF页面调用可以显示不同的图片以及不同的图片描述。这种情况,如果在每个页面单独处理相关的...

1745
来自专栏前端儿

微信小程序 - 入门指引

设置 -> 开发者设置 -> 服务器域名中   配置好服务器域名,小程序才能正确地发起异步请求

9441
来自专栏coding for love

浏览器加载解析渲染机制的全面解析

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

1111
来自专栏埋名

Mac系统14款快速查看插件Quick Look Plugs

Mac系统下快速浏览的14款Quick Look插件,鼎力推荐,可能适合程序员,特别是前端开发人员,我已经将它疯狂的收录到,一万星星awesome-mac:

1682
来自专栏Web 开发

新浪SAE伪域名绑定

弄完之后,再到WP4SAE里面把域名设置成自己绑定的那个域名,就实现了伪域名绑定了~

873
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

React Native 混合开发(iOS篇)

在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由R...

1.8K5
来自专栏weixuqin 的专栏

sublime下让代码居中

39313

扫码关注云+社区

领取腾讯云代金券