Page up▲

FC2 目指せブログ拍手でのランキングページ作成 その1

プログラム

どのくらいの需要があるのか不明だと前置いた上で、
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;
}
?>


実行結果は以下。

実際はtarget="_blank"は設定されません。
またタイムアウトしなければ記事番号1877まで動作するはずです。


今後はタイムアウト対策と
ソート機能、テーブル表示機能、最新ID取得機能、
FC2サーバーへの負荷を軽減する機能を入れる予定です。

目指せブログ拍手でのランキングページ作成!
それではまた。

 

Page up▲

LOGO1

Post a Comment

comments

Page up▲

Post a Commentpac

Private message

Page up▲

Designed by mi104c.
Copyright © 2020 直天堂のカステラ, all rights reserved.
07 | 2020/08 | 09

sun

mon

tue

wed

thu

fri

sat

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

Page up▲

  • 最新記事のRSS
  • 最新コメントのRSS
  • 最新トラックバックのRSS