今年、買いログの購入履歴を登録できるサイトにYahoo!ショッピング、iTunes Store、トイザらス・ベビーザらス オンラインストア、e!マツモトキヨシを追加しました。残念ながらヤフーショッピングに関してはセキュリティの強化のため、2011/08/26で停止しました。
購入履歴の取得は、スクレイピング(Scraping)を利用しています。ブラウザと同じ動作をするプログラムを作成し、HTMLソースコードを解析して、何らかの処理を行います。先日リリースした短縮URLチェッカーもソースコードを取得し、リダイレクト先やタイトルなどを取得しているという点では買いログと同じようなプログラムです。
ブラウザで動作するサイトであれば、URLを見たり、ソースコードを右クリックで見たりすることができますが、iTunes StoreだけはiTunes自体にブラウザが搭載され、右クリックができなかったり、アクセスしているURLが確認できなかったりと、通常のサイトとは違ったため、購入履歴の取得方法に約1年ほど悩みました。
まずはネットワークを流れるパケットをキャプチャしてみましたが、当然SSLでの通信でしたので、接続ホストまではわかりますが、どのデータを送っているかはわかりませんでした。次に、日本語・英語でいろいろなキーワードを入れてiTunesの履歴を取得する方法を調べましたが、やはりGoogleといえども解決はできませんでした。同じようなサービスのBlippyができるのであれば、何らかの方法があるはずだと思っていましたが、さすがに資金力や開発人数も違いますので、諦めていました。
あるブログ記事を読んで、これなら出来ると思って実施した所、うまくiTunesがiTunes Storeに送っているデータを取得することができました。さすがに日本でも買いログのようなサービスを提供している会社も出てきましたので、iTunes Storeの購入履歴取得方法については具体的に書けませんが、パケットの流れを取るとなると「Wireshark」のようなパケットキャプチャしか無いと思っていたのが敗因でした。
スクレイピングという技術は意外と使い道があるため、弊社で作成しているサイトではかなりの割合で使われています(ポイ探のポイント自動管理、買いログ、EC向けの管理ツール(非公開)、短縮URLチェッカー等)。もし、こんなことが出来るのか等質問がありましたらお問い合わせ下さい。