- 2009-07-30 (木)
- Tips - 使いこなす
-
![]()
アプリ購入編、アクセサリ購入編と「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が呼び出しのスケルトンです。こんな感じで使います。
#! /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);
?>
実行/実行結果
#実行権付与 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”を実行してください。
$ ./appInfo.php --help appInfo Usage: ./appInfo.php [options]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を指定してください。
(なければ不要。ただし、デフォルト値に私の値が入っているので注意。)
実行/実行結果
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日まとめ(ホーム画面編)」向けの表を作る予定。
- Newer: iPhoneと過ごした365日まとめ(ホーム画面編)
- Older: iPhoneと過ごした365日まとめ(アクセサリ購入編)
Comments:7
- burn 09-08-02 (日) 8:04
-
はじめまして
私も同じようなことを考えていたのですが
これはとっても便利なプログラムですね! - goodegg 09-08-03 (月) 22:47
-
自分メモ::
0.11-sampleではkeynote remoteの取得が上手くいかない。
豪華画面かどうかの見分けifがきちんと通らない。 - kajie 09-08-04 (火) 8:30
-
ハジメマシテ。私もそういうツールはないかなと思っていて・・・検索経由でここにたどりつきました。ありがとうございます。とはいいながら、私のような素人には使うにはちょっと難しいもんで・・・誠に勝手ながら、できればブラウザ上で必要事項を入力したらデータが吐き出されるようなインターフェースを作っていただけるととても嬉しいです。ご感想まで。
- goodegg 09-08-06 (木) 23:39
-
>kajie san
ネット上のツールでこんなん見つけました!
http://nagaokastation.com/appstore/
とりいそぎ。 - ふらぺち 09-09-24 (木) 12:42
-
はじめまして
ジャンルごとに一括で取得することってできますか?
viewSoftware を viewGenreにしてみましたが、空っぽでした。。。 - fuba 09-09-27 (日) 22:16
-
012-sampleいただきました!便利なスクリプトありがとうございます。
iTunes_viewSoftware.phpの81行目でWarningが出るので調べたら、file_get_contentsの使い方が変?な気が・・・。
結局 81~83行は不要っぽいのでコメントアウトして使ってます。#壮大な勘違いをしていたらすみません。
- goodegg 09-09-29 (火) 21:24
-
>ふらぺち san
URLを変えたら…その戻りのXMLに合わせて解析部を書き換えないと使えません…
> fuba san
情報ありがとうございます。
次回更新時に調査しますね。
可能であればWarning内容を添付くださると幸いです。
Trackbacks:4
- トラックバックURL
- http://iphone.goodegg.jp/archives/4552/trackback
- Listed below are links to weblogs that reference
- App StoreからiPhoneアプリ情報を取得するPHPサンプル from iPhone.goodegg.jp
- pingback from ChillingoからでるInkvaders、浮遊するのが良いと思う。iPhone / iPod touch な夕刊 09-07-30 (木) 6:26
-
[...] – Virtua Freaks 私エクストラ8までしか出してない。 App StoreからiPhoneアプリ情報を取得するPHPサンプル – iPhone.goodegg.jp GJ!! 第5章 iPhoneで始まるソーシャルメディア × リアル革命 — [...]
- pingback from App StoreからiPhoneアプリ情報を取得するPHPサンプル – iPhone.goodegg.jp « とっても! ちゅどん(雑記帳) 09-07-30 (木) 15:09
-
[...] App StoreからiPhoneアプリ情報を取得するPHPサンプル – iPhone.goodegg.jp App StoreからiPhoneアプリ情報を取得するPHPサンプル – iPhone.goodegg.jp [...]
- trackback from Dog Eat Dog studio 09-08-02 (日) 8:08
-
App StoreからiPhoneアプリ情報を取得するPHP
AppStoreにアップされている膨大なアプリケーションの情報を自動的に取得でき
- pingback from 2009/11/27に気になったこと | debeso 09-11-28 (土) 0:06
-
[...] App StoreからiPhoneアプリ情報を取得するPHPサンプル – iPhone.goodegg.jp AppStoreから情報をPHPでぶっこぬく方法 [...]












