ソーシャルブックマークをコンテンツとして使用する方法

ネタ元:ソーシャルブックマークするという行為を、小銭に変えるために

ある程度、質の高いソーシャルブックマークだった場合、それ自体がコンテンツとしてなりたつと思います。

わたしも気になる人のブックマークなどはフィードリーダーで読んでますし。

では、その有益なコンテンツであるソーシャルブックマークをお金に変えれないかというお話ですね。

ソーシャルブックマークサービスを自作してしまう

各ソーシャルブックマークサービスが提供しているRSSなどのAPIは、かなり貧弱でそれ自体でコンテンツを作り上げるには無理があります。

提供されているAPIだけでシステムを作り上げたとしても、取得できない部分(過去のブックマーク)などで、有益なコンテンツを喪失することになる。

なら、いっそのことソーシャルブックマークサービスを作ってしまえば、というのが一つの解答になるのではないかと

わたしは自作したソーシャルブックマークサービスClipper(閉鎖)を運営しており、自身のブックマークはそこに集めています。

ソーシャルブックマークサービス作成にはオープンソースのScuttleを使用しています。

実際、月に十円玉何枚かの小銭(少な!)はこのサイトから入ってきています。

公開して一般の方も使えるようにしてるのですが、スパム対応がめんどくさいので、自分専用にして単なるオンラインブックマークにしようかなとも考えていたりします。

さらにblogなどにもブックマークページをつける。

わたしはソーシャルブックマークの最近の一覧を、ブログに貼り付けています。(to-Rのブックマーク[閉鎖])

MT3の場合、テンプレートの新規作成から、出力ファイル名を『bookmark.php』などにしたページを作成します。

ブックマークを表示したい箇所に以下のコードを記述します。

<?php
//フィードを登録
$feed_uri = "ソーシャルブックマークのフィードのURL";
//出力文字コードの設定
$encode = "UTF-8";
$feed_xml = file_get_contents($feed_uri);
if(strstr($feed_xml,'xmlns="http://purl.org/rss/1.0/"')){
	//RSS1.0の場合
	preg_match_all('/<item(.+?)<\/item>/sm',mb_convert_encoding($feed_xml,$encode,"UTF-8"), $matches);
	$i = 0;
	while($matches[1][$i]){
		preg_match("/<title>(.+?)<\/title>/sm",$matches[1][$i], $title[$i]);;
		preg_match("/<link>(.+?)<\/link>/sm",$matches[1][$i], $link[$i]);
		$i++;
	}
	$html = "<ul id='rss_feed'>\n";
	for($j=0 ; $j<$i ; $j++){
		if($link[$j][1])$title[$j][1] = "<a href='".$link[$j][1]."'>".$title[$j][1]."</a>";
		$html.= "<li>".$title[$j][1]."</li>\n";
	}
	$html.= "</ul>\n";
}elseif(strstr($feed_xml,'<rss version="2.0"')){
	//RSS2.0の場合
preg_match_all('/<item>(.+?)<\/item>/sm',mb_convert_encoding($feed_xml,$encode,"UTF-8"), $matches);
	$i = 0;
	while($matches[1][$i]){
		preg_match("/<title>(.+?)<\/title>/sm",$matches[1][$i], $title[$i]);
		preg_match("/<link>(.+?)<\/link>/sm",$matches[1][$i], $link[$i]);
		preg_match("/<description>(.+?)<\/description>/sm",$matches[1][$i], $description[$i]);
		$i++;
	}
	$html = "<dl id='rss_feed'>\n";
	for($j=0 ; $j<$i ; $j++){
		if($link[$j][1])$title[$j][1] = "<a href='".$link[$j][1]."'>".$title[$j][1]."</a>";
		$html.= "<dt>".$title[$j][1]."</dt>\n";
		$html.= "<dd>".$description[$j][1]."</dd>\n";
	}
	$html.= "</dl>\n";
}
print $html;
?>

適当に作ったソースなのですが、先ほどのScuttleやdel.icio.usなんかはこのソースでソーシャルブックマークの一覧を表示するページが作れます。

小銭というよりも

正直、自身のブックマークをコンテンツとして利用できる方が、大きいんじゃないかなぁと思ってます。

関連エントリー

リンク先のlivedoorクリップ数を表示するブックマークレット
リンク先のはてなブックマーク数を表示するブックマークレット
SBM toolリリースしました。
SBO(ソーシャルブックマークオプティマイズ)のブックマークレット
LivedoorのソーシャルブックマークサービスLivedoorClip
del.icio.us登録用のブックマークレットをblogなどに設置する
はてなブックマーク登録用のブックマークレットを設置

スポンサードリンク

«文字サイズの変更を取得するJavaScript | メイン | input要素などにおけるIEのバグ»