ニコニコ動画のRSSをjavascriptで読み込んで表示させる

公開日: : 最終更新日:2014/08/14 JavaScript/jQuery, RSS, ニコニコ動画

スポンサーリンク

ニコニコ動画のランキングRSSをjQueryで読み込んで表示するプログラムを作成しました。RSSの読み込みにはGoogleFeedAPIを利用して、取得した情報をもとにjQueryで多少成形して要素に追加していきます。

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds", "1");
</script>
<script type="text/javascript">
var readFeed = function(feedurl,selector,maxlength){
	function initialize(){
		var feed = new google.feeds.Feed(feedurl);
		feed.setNumEntries(maxlength);
		feed.load(function(result) {
			if (!result.error) {
				var dst = $("<div>");
				for (var i = 0; i < result.feed.entries.length; i++) {
					var entry = result.feed.entries[i];
					var title = entry.title;
					var link = entry.link;
					var content = entry.content;
					//正規表現でタイトル修正(ランキングの場合冒頭に「第○位」が出るのでそれを消す)
					var m2 = title.match(/第[0-9]+位:(.+)/i);
					if(m2!=null){
						title = m2[1];
					}
					//正規表現で画像取得(拡張子が付いていないので注意)
					var m = content.match(/\<img([^\>]*)src=\"?([\-_\.\!\~\*\'\(\)a-z0-9\;\/\?\:@&=\+\$\,\
																   %\#]+)\"?(.+)\>/i);
																   var imgsrc = '<a href="'+ link +'" target="_blank">'+m[0]+'</a><span
					class="title"><a href="'+ link +'" target="_blank">'+title+'</a></span>';
						//画像を置換して別々に分ける
						var contents0 = content.replace(m[0],"");
					//整形して要素に入れる
					var buf = $("<div>").addClass("nicowrap").addClass("clearfix");
					var msg = $("<div>").append(contents0);
					var desc = msg.find("p:eq(1)").addClass("nicomsg");	//投稿者コメント
					var thumb = $("<div>").addClass("nicothumb").append(imgsrc);
					buf.append(thumb).append(desc);
					dst.append(buf);
				}
				$(selector).append(dst);
			}
		});
	}
	google.setOnLoadCallback(initialize);
}
readFeed("http://www.nicovideo.jp/ranking/fav/daily/all?rss=2.0&lang=ja-jp","#feedtest",20);

CSSについて

化物語 壁紙

スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

【jQuery】hasClass is not a functionエラー

jQueryでセレクタを使って取得してきたjQueryオブジェクトからその子要素をchildrenで

記事を読む

【jQuery】大量の画像で重くなったページを遅延ロードで軽くする方法【Lazy Load】

画像をふんだんに使っているページでは読み込みの際に非常に時間がかかるという問題点があります。数枚なら

記事を読む

jQueryで要素にappendとafterを使って追加する

jqueryのappendは要素の末尾に指定要素を追加し、afterは要素の後に指定要素を加えます。

記事を読む

スクレイピングをサポートしてくれるAPI【kimono】

kimonoというスクレイピングをAPI化してくれるという素晴らしいサービスがあります。

記事を読む

【javascript/jQuery】Progressbarで処理の進捗状況を表示する

jQuery UIでProgressbarを使う 処理経過を表示する場合プログレスバーにより提示さ

記事を読む

WordPressの記事内でJavaScriptを動かす

WordPressでは厄介なことにJavaScriptが動かない場合があります。この記事では動かない

記事を読む

Google Maps JavaScript API v3でマップ上に線を引く

GoogleMapsAPIを使って地図上に線を引いたときに気を付けたことなどをメモしておきます。

記事を読む

【ImgToAA】画像をAA化するツール

指定の画像を読み込ませてAA化するツールです。サンプルはこちら。 (使い方) 画像ファイ

記事を読む

PHPでページリロードをしようと思ったができなかったので

header("Location: ".$_SERVER); とすればページをリロードでき

記事を読む

【javascript】正規表現文字置換簡易ツール

jQueryで作成した正規表現による文字抽出用スクリプトです。 (使い方) 「正規表

記事を読む

【DeepLearning】物体検出手法のSSD(Keras版)を試す (Ubuntu14.04)

はやりのディープラーニングの物体検出手法の一つであるSSDのサンプルを

【Laravel5】既存のDBからデータを取得して表示する

はじめに 今まで作ったWebサイトをLaravel5で見れるようにし

【C++/OpenCV】cv::Matの画像にインパルスノイズを付加する

OpenCVで画像にノイズを付け足したいと思って調べたところ、Pyth

Intel Corei7-7700TでHTC Viveの動作確認

はじめに HTC ViveというVRヘッドセットで遊んでみたのでその

【Python】フォルダ内のカッコ付き数字ファイルを一括でリネームするスクリプト

はじめに タイトルどおりなのですが、指定フォルダ内のファイルのファイ

OpenCV3.1のTracking APIでトラッキングを試す

はじめに 先日OpenCV3.1をopencv_contrib付きで

パソコンを複数台使う際便利なツール

はじめに 先日、機械学習用にGPUを積んだBTOパソコンを購入しまし

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑