Skip to content

Instantly share code, notes, and snippets.

@cherenkov
Created May 12, 2012 02:32
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cherenkov/2663761 to your computer and use it in GitHub Desktop.
Save cherenkov/2663761 to your computer and use it in GitHub Desktop.
pipes / simplexmlで複数サイトのRSSを読みこみ、新着順で表示させる方法.. - 人力検索はてな http://q.hatena.ne.jp/1336407726
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type='text/javascript'>
$(function() {
var feed = [
'http://rss.itmedia.co.jp/rss/1.0/news_security.xml',
'http://michaelsan.livedoor.biz/index.rdf',
'http://blog.livedoor.jp/domesaka/index.rdf',
'http://news4vip.livedoor.biz/index.rdf'
].map(function(e){return '"'+e+'"'}).join();
// http://pipes.yahoo.com/pipes/pipe.info?_id=6024c63c810e0a4ef1efe9eea8505b66
// クライアント側からフィードのリストをpipesに投げて、
// pipes側でフィードをまとめて、エントリータイトルにチャンネルタイトルを付けて、最新順にソートしてJSON出力。
var url = 'http://pipes.yahoo.com/pipes/pipe.run?_id=6024c63c810e0a4ef1efe9eea8505b66&_render=json&feed='+encodeURIComponent(feed);
var antena = document.getElementById('antena');
$.getJSON(url, function(e) {
var df = document.createDocumentFragment();
for (var i=0,n=e.count; i<n; i++) {
var entry = e.value.items[i];
var title = entry.item.title;
var link = entry.item.link;
var date = entry.item['dc:date'].content;
// 2012/05/11 13:51 のフォーマットにする
date = date.replace(/(\d+-\d+-\d+)T(\d+:\d+).+/,function(a,b,c) {
return b.replace(/-/g, '/') + ' ' + c;
});
var a = document.createElement('a');
a.href = link;
a.textContent = title;
var div = document.createElement('div');
div.appendChild(document.createTextNode(date + ' '));
div.appendChild(a);
df.appendChild(div);
}
antena.appendChild(df);
});
});
</script>
</head>
<body>
<div id="antena"></div>
</body>
</html>
@saruz999
Copy link

cherenkovさん

お返事おくれて申し訳ありません。
完璧です・・・。

はてなポイントでお礼したいのですが、どうすれば良いでしょうか?
すみません、いまいち仕組みをわかっておらずで。。。

取り急ぎお礼まで。
ありがとうございました。

@saruz999
Copy link

cherenkovさん

理想のRSSリーダーに出会い本当に感謝感激です!

もう一点だけお聞きしたい事が・・・
タイトルの最後(2012年12月30日タイトル blog名)と「blog名」か追記されると思いますが、
これを表示しない方法はございますでしょうか?
何度も何度も本当に申し訳ございません。。。

はてなポイントはどのようにお渡しすれば良いでしょうか・・・。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment