Macのデフォルトの機能だけでfeedlyの購読者数を毎日集計する方法

Macのデフォルトの機能だけでfeedlyの購読者数を毎日集計する方法

2014年2月6日
スポンサーリンク
[PR] このページではアフィリエイトプログラムを利用しています

Th mzl oatuyudo

先日、ブログLast Day.jpまたよしれいさんがこんな記事を書いていました。

feedlyの購読者数を毎日集計するスクリプトを公開します。 | Last Day. jp

で、この記事ではLingon3というアプリを使って自動化をしているのですが、今回はそれを使わないでMacのデフォルトの機能だけでやってみようと思います。


自動化する前にちょっとスクリプトを改造

Macのデフォルトの機能だけで自動化する前に、feedlyの購読者数を取得するスクリプトをちょっと改造しました。




ビックリするぐらいの丸投げです。

沖縄の言葉でこういう先輩からのむちゃぶりを「やっけーしーじゃーぱわー」と言います。

やっけー:やばい
しーじゃー:先輩の
ぱわー:ちから

通称YSPです。機会があれば使ってください。

という訳でれいまたよ氏のスクリプトをいじったのがこちら。

[php]
<?php

date_default_timezone_set(‘Asia/Tokyo’);

if (!(isset($_SERVER[‘HTTP_X_REQUESTED_WITH’])
&amp;&amp; strtolower($_SERVER[‘HTTP_X_REQUESTED_WITH’]) === ‘xmlhttprequest’)
&amp;&amp; (!empty($_SERVER[‘SCRIPT_FILENAME’]) &amp;&amp; ‘json.php’ === basename($_SERVER[‘SCRIPT_FILENAME’]))
) {
die (‘直接このファイルを開かないでください。’);
}

//自分のフィードに置き換えてください。
if(!$json = file_get_contents(&quot;http://cloud.feedly.com/v3/feeds/feed%2Fhttp%3A%2F%2Ftetokon.com%2Ffeed%2F&quot;)) {
$data =array(‘subscribers’ => 0);
} else {
$data = json_decode( $json , true );
}

$subscribers =$data[‘subscribers’];

//自分の環境に置き換えてください。
$file = &quot;/Users/tetokon/Desktop/feedly.csv&quot;;

$string = date(‘Y/m/d’). ‘,’ .$subscribers.&quot;\n&quot;;

$fp = fopen($file , &quot;a&quot;);

fwrite($fp , $string);

fclose($fp);

?>
[/php]

feedのURLとファイルの保存先(feedly.csvって書いてあるパス)はご自身の環境に沿って変えてください。変更したら適当な場所に保存してください。

またよしれい氏のコードとの変更点は、出力するファイルの拡張子を.txtから.csvにしたこと。あと出力する日付と購読者数の間の区切り文字をカンマ’,’にしています。

これで出力ファイルがテキストからCSVファイルになるのでNumbersOpenOfficeなどの表計算ソフトでそのまま開けるので、簡単にグラフにできると思います。

あと、date関数を使うときにタイムゾーンを指定しないと警告がでるので、先頭でdate_default_timezone_set関数を呼んで東京を指定しました。これで警告出なくなりました。

Macのデフォルトの機能だけで自動化する

さて、本題です。Lingon3を使わずに自動化してみます。

まずはさっき作ったPHPをAutomatorで起動するようにします。AutomatorっていうのはMacにデフォルトで入っているアプリで、いろんな処理を自動で行ってくれる凄いやつです。ロボットみたいなアイコンのあれです。

Automatorを起動したら書類の種類をカレンダーアラームにします。これが大事。

Feedly count app 1

Feedly count app 3

▲次にアクションを選びます。
ユーティリティ→シェルスクリプトを実行
を右側のエリアにドラッグします。

Feedly count app 4

▲ドラッグしたシェルスクリプトを実行の中に

/usr/bin/php “さっき保存したPHPスクリプトのファイルパス”

を書きます。
/usr/bin/phpとファイルパスの間に半角スペースを入れるのを忘れないで下さい。

ここまでできたら保存します。

Feedly count app 5

▲こんな画面が出るので適当な前で保存します。

保存するとカレンダーアプリに飛びます。

Feedly count app 6

▲こんな感じで保存した時間に登録されるはず。

Feedly count app 7

▲あとはこの時間を自分が起動したい時間に設定します。この時繰り返しを「毎日」にしておけば毎日起動されます。

Macをスリープから起こす方法

上記までの設定で毎日自動でfeedlyの購読者を取得することができるようになりました。

…が!しかし!

このままではMacがスリープの時は動きません。
なのでスリープしてるMacを起こしてみます。

Feedly count app 8

▲システム環境設定を起動して「省エネルギー」をクリック。

▲次の画面で右下にある「スケジュール」をクリック。

Feedly count app 10

▲ここで「起動またはスリープ解除」を、先ほどカレンダーに登録したAutomatorが起動する時間より少し前に設定します。

で、スリープ解除したあと、またスリープに戻したい場合はその少し後の時間にまたスリープの設定をしたり。
そのあたりはお好みで。

これでMacのデフォルトの機能だけで毎日feedlyの購読者をカウントする事ができるようになりました。

ホントに毎日毎日動かして試したわけではないですが、スリープの状態から勝手に起動して、自動でスクリプトが走って、またスリープに戻るところまでは確認しました。あとは毎日同じ動きを繰り返すだけなので問題ないと思います。

ただ…僕のMacがMountain LionなのでMavericksでは動作確認していません。動くと思いますけど動かなかったらすいません…

まとめ

というわけで流れをまとめます。

1 feedlyの購読者を数えるスクリプトを書く
2 Automatorを使ってスクリプトを起動させる処理を作る
3 作ったAutomatorの処理を自動で実行するようにカレンダーに設定する
4 実行する時間にMacがスリープだったら困るのでスリープから自動で起きる様にする

大体の流れはこんな感じです。

散々書いてきたけどそんな事しなくて良い。そう!WordPressユーザーならね!

ずらずら書いてきた訳ですが、WordPressユーザーのそこのあなたは、こんなめんどくさい事しなくていいのです。

なぜならそういうプラグインがリリースされたから!

Feedly Insight 、稚拙ながら WordPress プラグインをリリースしました。 | ホホ冢次男

またよしれい氏があのスクリプトを公開したその日にこんなプラグインがリリースされるなんて!引きの強さがヤバイですね。さすがです。

という訳で僕が長々と書いてきたこの方法は、MacユーザーかつWordPressじゃない人がお使いください。

もしくは、気になるあの子のfeedly購読者を毎日数えたい方には使えそうですね。
もしくは、WordPressユーザーでも、負けたくないあいつの購読者を毎日チェックして自分を奮い立たせるのに使えそうですね。

関連記事

【Mac】Finderから直接写真の回転もできるんだぜ!そうAutomatorならね!

MacからEvernoteにポイポイメモを放り込むAutomatorを作りました

【ダウンロードあり】Automatorを使って一撃でアプリを全部終了させる方法【作り方あり】