かみやんの技術者ブログ

主にプログラムの話です

iTunes Connectのスクレイピング

今日は、お盆休み。前からやりたかったiTunes Connectのスクレイピングを書こう。iPhoneのアプリをリリースしている人は、iTunes Connectにアクセスして日々のダウンロード数をみていると思う。アイビスでも、毎日iTunes Connectからcsvファイルをダウンロードして、分析をしている。が、手間がかかるので自動化したかった。スクレイピングするなら、Apache HttpClientかなと思い、以前、ちょっとそのコードを書いたのだが、「Cookieのフォーマットが違う」というエラーがでて保留にしていた。Appleのサーバのset-cookieヘッダは、Netscapeフォーマット(たいていのサーバはこれ)。が、HttpClientはRFC準拠っぽい。今日は、ちょっと時間があったのでもう一度やってみた。
今日は、HttpClientのソースをいじってCookieフォーマットを合わせようかと思ってソースを追っていたら、ちゃんとNetscapeフォーマットも実装されているっぽい。
で、ドキュメントを追ったら、
http://hc.apache.org/httpcomponents-client/tutorial/html/statemgmt.html#d4e655
上記ページの「Choosing cookie policy」にクッキーのフォーマットを指定するメソッドの説明がありました。これで、スクレイピングができそう。

#以前は、iPhoneアプリのAppSales(これ)でダウンロード数をみていたが、iTunes Connectのセキュリティ強化がされたようで、AppSalesでは閲覧できなくなってしまった。AppSalesのソースを追ったがCookieに対応していないようでAppSalesを修正する方法はあきらめた。

2009/8/13 23:50 追記:コメントにAppSales使えますとありました(コメント参照)。