自分のサイトのタグられ具合を見る

ちゃんとした機能として提供されてるかもしれないけど、とりあえず自作。

はてなブックマークの /entrylist では URL を指定してその階層以下のエントリーに対する被ブックマーク情報が得られる。で、そこから得られる RSS を利用して、どんなタグがつけられてきたかを軽く一覧にして見てみる。

とりあえず、思いつきなだけなのでデバッグ的コード(PHP5 and PEAR::HTTP_Request)。

<?php

require_once("HTTP/Request.php");

/** check argument **/
if ($argc != 2) {
    die("Usage: php get_recent_tags.ph <SITE URL>\n");
}
if (!preg_match("/^https?/", $argv[1])) {
    die("Enable protocols are http or https.\n");
}

/** get feed **/
$http = new HTTP_Request();
$http->addHeader("User-Agent", "www.koshigoe.sakura.ne.jp");
$http->setURL("http://b.hatena.ne.jp/entrylist?mode=rss&sort=eid&threshold=5&url=" . urlencode($argv[1]));
$result = $http->sendRequest();
if (PEAR::isError($result)) {
    die($result->getMessage() . "\n");
}
$content = $http->getResponseBody();

/** parse feed **/
$parser = simplexml_load_string($content);
$tags = array();
foreach ($parser->item as $item) {
    $dc = $item->children('http://purl.org/dc/elements/1.1/');
    foreach ($dc->subject as $subject) {
        $tag = mb_convert_encoding(trim((string)$subject), "euc-jp", "utf-8");
        $tags[md5($tag)] = $tag;
    }
}

/** dump **/
var_dump(array_values($tags));

?>

CLI での利用。引数に調べたいサイト URL を与えると、そこ以下のエントリーに対してつけられたタグが得られる。RSS は 最近 50 件で取得してるので、ここみたいにあまりブックマークされてないとこの URL じゃないと使えないので注意。

なんでこんなもん作ったかって言うと、サイトの概要を掴むためにタグのリスト見たら分かりやすかったりするのかなという勝手なイメージから。例えば、はてなブックマークの注目記事からタグでフィルタする際に、お気に入りサイトでのタグられ具合をみてフィルタに採用してみるとか。

後は、SBS での最近の人気タグとか見てフィルタタグの候補をリストアップとかしたらいいのかな?

プロフィール

このブログ記事について

このページは、koshigoeが2006年2月16日 01:01に書いたブログ記事です。

ひとつ前のブログ記事は「RSS リーダーでのフィードの分類」です。

次のブログ記事は「Feedpath がおねむ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。