アプリ購入編、アクセサリ購入編と「iPhoneと過ごした365日まとめ」を未だにやっているわけですが...最後にホーム画面編をやろうと思ってます。
300日、半年、100日まとめの様にアプリの表を作りたいのですが、アイコンの取得やらアプリ情報の取得(iTunesからコピペできない)やらが面倒臭い。
App Storeからアイコンやら情報を取得するツールとかサンプルが、そろそろどっかに転がっているだろうと思ったのですが見つからず。じゃあってことで、自分用にPHPでコマンドラインツールを作ってみました。サンプルとして公開しておきます。
ファイルダウンロード
2009-11-28 追記 - 11月にまたXMLレイアウト変更がありました。自分がPHP版が必要になったら更新しますが...いつのことになるか保障できません。ご容赦を。ちなみにExcel VBA版は2010/01/17時点のiTunes Storeに対応しています。
2009/09/21 Release:0.12-sample (012-sample.zip 357KB - XMLレイアウト変更対応及びいくつかの項目追加、制御コード混在時の不具合対応)
2009/7/31 Release:0.11-sample (011-sample.zip 356KB - XMLレイアウト変更対応?!)
2009/7/30 Release:0.10-sample (010-sample.zip 356KB)
- テストした環境は以下の通りです。
- Mac OS X 10.5.7 / php 5(.2.8) CLI
- FreeBSD 7.1 / php 5(.x.x) CLI
- ファイル内に含まれるファイルは以下の通りです。
- iTunes_viewSoftware.php ... App Storeから情報を取得するクラスサンプル
- sample.php ... 上記クラスの呼び出しのスケルトン
- appInfo.php ... 上記クラスを利用したコマンドラインツールサンプル
- template.html ... appinfo.phpで利用するデータ出力ひな形サンプル
- /PEAR ... PEAR 1.8.1の再配布物(appInfo.phpでのみ利用)。
- /Console ... PEAR::Console_CommandLine 1.1.0の再配布物(appInfo.phpでのみ利用)。
iTunes_viewSoftware.php
概要
iTunes Storeのアプリ閲覧URL(http://ax.itunes.apple.com/.../viewSoftware)にアクセスして、アプリの基本情報を連想配列に入れるPHPクラス
利用方法
sample.phpが呼び出しのスケルトンです。こんな感じで使います。
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 |
:nocontrols:nogutter" ] #! /usr/bin/php <?php //1行目の#! /usr/bin/phpは環境に合わせて書き換え。CLI呼び出しじゃないなら削除。 //ワーキングディレクトリをこのファイルのありかに変更。 chdir(dirname(__FILE__)); //ライブラリを読み込んで require_once './iTunes_viewSoftware.php'; //オブジェクト生成 $ivs = new iTunes_viewSoftware(); //リンクシェアのIDを指定(無ければ指定しなくても良い) //デフォルト値は私のIDなので注意! $ivs->setLinkshareid('SoaPt8v61lk'); //データ取得->連想配列へ //引数にはアプリのIDを指定 //(iTunes StoreでコピーしたURLに含まれるviewSoftware?id=の後9桁数値) $ivs->loadXML("322527366"); //連想配列の中身を表示 while(list ($key, $val) = each($ivs->infos)) { print ($key." is ".$val."n"); } exit(0); ?> |
実行/実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
:nocontrols:nogutter" ] #実行権付与 chmod 755 sample.php #実行 ./sample.php #実行結果(抜粋) #$key is $val ID is 322527366 SELLAR is KONAMI ... NAME is パワフルプロ野球TOUCH CATEGORY is ゲーム REREASED is 2009/7/13 SELLAR2 is Konami Digital Entertainment Co., Ltd. ... |
appInfo.php
概要
iPhoneアプリのiTunes URLを指定して、アイコン画像をローカルに保存する。また、テンプレートを指定すると合わせてアプリ情報をローカルに保存するコマンドラインツール。
利用方法
appInfo.phpに実行権限付与して、1行目のパス指定を変更したら"appInfo.php – help"を実行してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
:nocontrols:nogutter" ] $ ./appInfo.php --help appInfo Usage: ./appInfo.php [options] <save_dir> <app_url> Options: -e /DIR/FILE, --exp_template=/DIR/FILE データ出力用テンプレート (指定しなければ画像のみ保存) -l ID, --linkshareid=ID リンクシェアのIDを指定できます (データ出力時のみ利用) -h, --help show this help message and exit -v, --version show the program version and exit Arguments: save_dir 画像/データ保存先 app_url iTunes StoreのURL or ID9桁 |
第一引数のsave_dirには画像、アプリの基本情報データ(後述)を書き込むためのディレクトリを指定します。
第二引数のapp_urにはiTunesからコピーしたアプリのURLもしくは9桁のアプリIDを指定します。
オプションの-e/--exp_templateはファイル内に###連想配列のkey###を書いておくと、その部分をiTunes Storeから取得した値に書き換えて、第一引数のsave_dirに書き込みます。
書き込むファイル名はアプリケーションのID
拡張子は--exp_templateで指定したテンプレートの拡張子を採用します。
オプションの-l/--linkshareidにはリンクシェアのIDを指定してください。
(なければ不要。ただし、デフォルト値に私の値が入っているので注意。)
実行/実行結果
1 2 3 |
appInfo.php -e ./template.html -l SoaPt8v61lk ./temp 'http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=322519527&mt=8' 画像を保存しました。 ::/Users/goodegg/temp/322519527.jpg データを保存しました。 ::/Users/goodegg/temp/322519527.html |
保存されるアイコンはこんな感じ。(マスクが掛かっていないです。)
保存されるデータはこんな感じ。(付属のtemplate.htmlの場合)
322519527.html
メモ
細かい部分を考慮していないのであくまでサンプル扱いですが、とりあえず自分用はこれをベースに弄ります。
テンプレート書き換えて、シェルで複数アプリ分一括で生成して...最後にデータをcatして「iPhoneと過ごした365日まとめ(ホーム画面編)」向けの表を作る予定。