Saqoosha

iTunes Connect Daily Report Auto Download Script

Blog

んや集計するほどのアプリまだないんだけど。準備。集計アプリっていろいろあるけどどれも勝手にやってくれるわけじゃないっぽいので、せめてダウンロードだけでも自動でやっとくやつ。ほっとくと消えてくしね。cron で 1 日 1 回適当な時間に走らせればダウンロードしといてくれる。Google Analytics みたいにメールで送るとか iTunes Connect 側でやってくれたらいいのになー。

#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use Config::Pit;
use Web::Scraper;
use IO::File;

# config
my $config = pit_get('iTunesConnect', require => {
'username' => 'username',
'password' => 'password'
});

# login
my $url = 'https://itts.apple.com/cgi-bin/WebObjects/Piano.woa';
my $mech = WWW::Mechanize->new();
$mech->agent_alias('Windows IE 6');
$mech->get($url);
$mech->submit_form(
form_number => 1,
fields => {
'theAccountName' => $config->{username},
'theAccountPW' => $config->{password}
}
);
if ($mech->title() ne 'iTunes Label Connect') {
die "cannot loged in: " . $mech->title();
}

# select daily
$mech->submit_form(
form_name => 'frmVendorPage',
fields => {
'9.7' => 'Summary',
'9.9' => 'Daily',
'hiddenDayOrWeekSelection' => 'Daily',
'hiddenSubmitTypeName' => 'ShowDropDown'
}
);

# download
my $opts = scraper {
process 'select#dayorweekdropdown > option', 'date[]' => 'TEXT';
}->scrape($mech->content, $mech->uri);

my $latest = $opts->{date}[0];

$mech->submit_form(
form_name => 'frmVendorPage',
fields => {
'9.7' => 'Summary',
'9.9' => 'Daily',
'9.11.1' => $latest,
'download' => 'Download',
'hiddenDayOrWeekSelection' => $latest,
'hiddenSubmitTypeName' => 'Download'
}
);

if ($mech->res()->header('Content-Disposition') =~ /filename=(.*)/) {
print $1 . "\n";
my $file = new IO::File($1, 'w');
if (defined $file) {
print $file $mech->content();
$file->close;
}
}

パッケージ足りなかったら CPAN で入れる。ログイン ID & PW は
perl -MConfig::Pit -e'Config::Pit::set("iTunesConnect", data=>{username=>"hoge\@example.com",password=>"hoge"})'
てな感じで設定。

AID-DCC Inc. & Katamari Inc. presents New Year Special Site [ZERO-NINE]

Blog

2009010101-Newyearsite

あけおめー。今年もガッツーんいくよー。ちゅーわけで去年移植した FLARToolKit 使って年賀サイト作ったよー。Web カメラなんて持ってねーよてな人向けにデモムービー↓も作ってあるので是非見てくだせい。んじゃ!

追記)ああ書き忘れてた。えー、FLARToolKit は GPL なので FLARToolKit を使ったやつはソースコードを公開しないといけません。(そうじゃないライセンスも検討中なんだけど。)というわけでこのサイトのソースコードも公開しないといけないのですけど、整理したいのでちょいと待ってくださいな。

追記(2009/1/8 21:40):ソースコード公開しましたよ。