SBM Popular Entryのdelicious.comのカウント数を表示する

ブロガーにとってモチベーションを保つライフハック3本柱の一つ、被ブクマ数。私のブログも記事の末尾に表示するようにしていました。

ところが8月上旬のファンキーなドメインのソーシャルブックサービスのdel.icio.usdelicious.comというフツーなドメインに変わってしまい、同時にスクレイピングしていたカウント数が取得されなくなってしまいました。この切なさは【閃光的網站・弛緩複合体 -Review Division-】さんのところで語られているのに通じるものがあります。

私はプラグインのPHPを修正して直してみる事にしました。調べながら修正したので30分、以下の説明があれば10分くらいで使えるようになると思います。

1.作者のページからプラグインをDL

[WP:Plugin] 被ブックマーク数表示+ランキング生成プラグイン | AOINA.COM

既に導入されている人は特にDLしなくて大丈夫です

2.ドメインを一括置換

DreamWeaverなどのコーディングソフトで一括置換します。

del.icio.us ー> delicious.com

対象は以下のファイル

  • wp-sbm_popular_entry.php

3.delicous.comのカウント数制御のロジック変更

オリジナル (wp-sbm_popular_entry.php 129行目)
[source:javascript]
$new_meta[‘delicious’] = $this->socket_results(‘http://del.icio.us/url/’.md5($permalink), ‘/this url has been saved by ([d]+?) (person|people)/’);
[/source]

修正後
[source:javascript]
$new_meta[‘delicious’] = $this->socket_results(‘http://badges.del.icio.us/feeds/json/url/blogbadge?hash=’.md5($permalink), ‘/”total_posts”:([d]+?),/’);
[/source]

詳しく説明すると、オリジナルはHTMLページをスクレイピング(正規表現を使ってページの特定文字列を抜き出す技術)しているのに対し、修正版はdelicous.comのAPIを叩いて必要な情報を抜き出しているところです。JSONパースすればよいのですが、面倒なので実はJSONを正規表現で抜き出してます(汗)

以上で終了です。ぜひお試しあれ〜。

投稿者 : 池田 泰延

BookMark

ブックマークはこちらからどうぞ。

このエントリーをはてなブックマークに追加

Comment/Trackback %件