
どのくらいの需要があるのか不明だと前置いた上で、
FC2ブログの各ページで拍手された数を抽出するPHPプログラムを書きました。
あくまでFC2拍手ではなく、
FC2に見捨てられたブログ拍手である点に注意して下さい。
(もしかしたらFC2拍手でも動くかも知れませんが試してません。)
simple_html_dom.phpを利用し、
PHPで動作する物を作成していたのですが、
Naotenの利用するレンタルサーバーがタイムアウトしてしまう為、
現在、対策を考えています。
(PHPはセーフモードで提供されているのでタイムアウト時間も変更できない。)
一応、現時点でも最低限の動作はするので
simple_html_dom.phpを自力で調べられる方、
堅牢で自由度の高いPHPが動作するサーバーが利用できる方は使ってみて下さい。
(詳しい導入方法は、無事、目的を完遂した暁には書きます。)
(以下、追記へ。)
<?php
// example of how to use basic selector to retrieve HTML contents
include('../simple_html_dom.php');
// ====↓設定ここから(ブログに合わせて更新して下さい。)↓====
// 拍手のアイコン色に併せて変更して下さい
// white
// black
// green
// orange
// pink
// red
$strImage = 'white';
// 終端は必ず / として下さい。
$strBaseURL = 'http://naotendo.blog96.fc2.com/';
// 最終的に検出されるページのtitleから削除したい文字列
$strDeleteString = '直天堂のカステラ ';
// 開始ページID
$intStartID = 1;
// 終了ページID
$intFinishID = 1877;
// ====↑設定ここまで↑====
// 改行タグ
$strBr = '<' . 'br' . ' />';
// 拍手アイコンベースURL
$strImageURL = 'http://static.fc2.com/image/clap/number/' . $strImage . '/';
// ヘッダー出力
echo 'ID,拍手数,記事名' . $strBr;
// ページ数分ループ
for( $ni = $intStartID; $ni <= $intFinishID; $ni++ ){
// 個別ページのURL作成
$strHtmlURL = $strBaseURL . 'blog-entry-' . $ni . '.html';
// get DOM from URL or file
$objHtml = file_get_html($strHtmlURL);
// 記事件名をtitleタグから取得 その際不要文字削除
$strTitle = str_replace($strDeleteString, '', $objHtml->find('title', 0)->innertext);
$strCount = "0";
// find all image
foreach( $objHtml->find('img') as $e ){
// 拍手アイコンを探索
if( strstr($e->src, $strImageURL) ){
// イメージのURLから拍手数を取得
$strCount = substr($e->src, strrpos($strImageURL, '/') + 1
, strlen($e->src) - strrpos($strImageURL, '/') - 5);
break;
}
}
// 結果を出力
echo $ni . ',' . $strCount . ',' . $strTitle . '' . $strBr;
}
?>
実行結果は以下。
ID,拍手数,記事名
1,0,引越し完了
2,0,暗雲垂れ込むPSP go
3,0,なでこスネイク 蕩れ~~
4,0,台湾スゲー!!
5,0,色々雑記(おもになでこ)
6,0,狼と香辛料 海を渡る風
7,0,バイオハザード5 オルタナティブエディション
8,0,ハリウッド映画 The King of Fighters
9,0,アンデッドナイツ
10,0,グラナド・エスパダでとぅぎゃざあしようぜ!
11,6,龍如4ガールズ見つけた!
12,2,齋藤支靜加
13,0,ベヨネッタ(BAYONETTA)の複雑な開発経緯
14,0,台風18号
15,0,化物語 ひたぎクラブ BD&DVD売り上げ
実際はtarget="_blank"は設定されません。1,0,引越し完了
2,0,暗雲垂れ込むPSP go
3,0,なでこスネイク 蕩れ~~
4,0,台湾スゲー!!
5,0,色々雑記(おもになでこ)
6,0,狼と香辛料 海を渡る風
7,0,バイオハザード5 オルタナティブエディション
8,0,ハリウッド映画 The King of Fighters
9,0,アンデッドナイツ
10,0,グラナド・エスパダでとぅぎゃざあしようぜ!
11,6,龍如4ガールズ見つけた!
12,2,齋藤支靜加
13,0,ベヨネッタ(BAYONETTA)の複雑な開発経緯
14,0,台風18号
15,0,化物語 ひたぎクラブ BD&DVD売り上げ
またタイムアウトしなければ記事番号1877まで動作するはずです。
今後はタイムアウト対策と
ソート機能、テーブル表示機能、最新ID取得機能、
FC2サーバーへの負荷を軽減する機能を入れる予定です。
目指せブログ拍手でのランキングページ作成!
それではまた。