Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Pipes 開発実績

rss2json:RSS(XML)からJSONに変換する方法まとめ(てかYahoo!Pipesでいいじゃん?)

投稿日:


いまさらかもしれないけどね。
■Perlな方法
 ・[JSON] コイツ、速いぞ! きっとFirefoxのXMLパーサが遅いんだ。 Kawa.netブログ(川崎有亮)/ウェブリブログ
 ・[JSON] xml2json.pl – XMLファイルをJSONに変換するスクリプト Kawa.netブログ(川崎有亮)/ウェブリブログ
 ・たけまる / フィードから JSON への変換方法を統一して JavaScript でラクする
■PHPな方法
 ・PHP4でXMLをJSONに変換するメモ – F.Ko-Jiの「一秒後は未来」
■公開されてるWebサービス(API)を使う
 ・XML を JSON に変換するサービス – ベータ版を公開 :: Drk7jp
 ・Feed2JSON : blog.nomadscafe.jp
国外とかあげだすとキリないのでやめますが(調べてないけど)、
APIが楽チンでいいなーと思ってしまうんだけど、個人のサーバーで運営してるところの場合、負荷とか大丈夫?ってちょっと心配な面もありますよね。
んで、とっても良い方法があった。Pipesでできるじゃないかと。

RSSからJSONに変換するYahoo!Pipes

もう同じようなPipesは存在しているかもしれないけど、作ってみた。
http://pipes.yahoo.com/yager/rss2json
普通に使ったら、入力したRSSを返すだけのRSSプロキシみたいな感じになるんだけど、PipesはJSONのアウトプットもできるから、以下のURLで呼び出してやれば良い。

http://pipes.yahoo.com/yager/rss2json?_render=json&_callback=コールバック関数&url=RSSのURL

rss2json(Yahoo!Pipes)の使い方サンプル

pipes rss2json test

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pipes rss2json test</title>
</head>
<body>
<div id="rss_viewer"></div>
<script type="text/javascript">
/**
* show RSS from JSON (converted by Pipes)
*/
function showRSSfromJSON(json) {
var html = '<dl>';
for( var i=0; i<json.value.items.length; i++ ) {
html += '<dt><a href="' + json.value.items[i].link + '">' + json.value.items[i].title + '</a></dt>';
html += '<dd>' + json.value.items[i].description + '</dt>';
html += '<dd><a href="' + json.value.items[i].author.uri + '">' + json.value.items[i].author.name + '</a> ' + json.value.items[i].pubDate + '</dt>';
}
html += '</dl>';
document.getElementById('rss_viewer').innerHTML = html;
}
var s=document.createElement('script');
s.charset='UTF-8';
s.src='http://pipes.yahoo.com/yager/rss2json?_render=json&_callback=showRSSfromJSON&url='+encodeURIComponent('http://creazy.net/atom.xml');
document.body.appendChild(s);
</script>
</body>
</html>

ふむ、良い感じ。
Yahoo!Pipesも重い時はあるんだけど、Yahoo!だし、そうそう落ちる事はないでしょ?(知らんけど)

見ているページのHTMLソースを表示するブックマークレット(Yahoo!Pipes版)

-Pipes, 開発実績

執筆者:


  1. 別サイトに更新情報を載せる方法

    phpやらjsonフィードやら、新着情報(更新情報)表示の方法をいろいろ模索してきましたが、ページがphpじゃなくてもシステムがMovabl…

  2. 匿名 より:

    RSSをJSONに変換する方法を調べていて、yagerさんのページを見つけました。
    とても参考になりました。
    私もscriptを少しは知ってるつもりでしたが、yagerさんが掲載しているソースを見て、
    まだまだだなーと思い知りました・・・。ホント、脱帽でございます。
    これからも良い記事を期待しています。

comment

メールアドレスが公開されることはありません。

関連記事

YouTube HD Suite更新(7/22YouTube変更対応、4k対応、html5対応)

【2010/08/02:追記】 YouTube HD Suite 公式ページができました。 7/22くらいにYouTube側で変更があったらしく正常にダウンロードできなくなっていたので、YouTube …

Facebookにいいね!されたリンク先に長いパラメータが追加されるのを自動で短縮する方法

Facebookにいいね!された投稿などリンク先に遷移すると、上の画像のようにものすごく長いURLになってしまいますよね。Facebookのインサイト(解析)に使われているものと思われますが、このパラ …

YouTube HD Suite Version3 を公開します(Firefox/Chrome/Safari対応)

【2010/08/02:追記】 YouTube HD Suite 公式ページができました。 長らく放置状態になってしまいましたが、YouTube HD Suiteのアップデートを行ないました。 主な変 …

ラボで自分が作ったサービスをまとめてみました

サブドメイン(labs.creazy.net)で運用している自分用のラボサイトがあるのですが、トップページはPukiWikiで構築していたのがいつの間にかPHPのエラーが出て表示されない状態になってい …

【追記あり】YouTube HD Suite を修正しました(チャンネル対応他)

【2010/08/02:追記】 YouTube HD Suite 公式ページができました。 【2009/06/30:追記】 旧チャンネル画面で画質アイコンが表示されない問題に対応しました。ご迷惑をおか …

スポンサードリンク

スポンサードリンク