2012/04/04

AKB48を分析する - 4.Google+のデータを取得する

Google+におけるAKB48メンバーの投稿(アクティビティ)と、それに対するコメント(メンバーのみ)を取得し、MongoDBにインサートするPythonプログラムを作成した。
これを実行し、数時間経つと、私のPCにすべてのデータが格納されるのだ!

次はこれを使ってどういう分析をするかだな。

ソースコードは、mycodestockというサービスを使って公開している。
このサービス、ちょっとしたコードを書いて保存しておくのに便利だ。

1.Google+ AKB48 ProjectからメンバーのID一覧を取得する
http://www.mycodestock.com/code/5672/

1.1.BeautifulSoup を使用して、Google+ AKB48 ProjectのhtmlからメンバーのIDを抽出
1.2.PyMongo を使用してPythonのスクリプトからMongoDBにデータをinsertする
1.3.MongoDBで、RDBにおけるプライマリーキーの働きをする'_id'という項目にIDをセットする
 これにより、リランしてもデータが重複しないようにする

2.アクティビティを取得する
http://www.mycodestock.com/code/5673/

2.1.dateutil.parser を使用してRFC3339形式で格納されているアクティビティの投稿日付、更新日付をPythonのdatetime型に変換し、PyMongo上の項目として追加する。これは後々日付別の分析を簡単にするため
2.2.あとのテックニックは1.2と1.3を使う

3.コメントを取得する
http://www.mycodestock.com/code/5674/

3.1.Activity IDからCommentを取得する際、対象の日付を絞る。こうしないととっても時間がかかる。最初に実行するときはすべての日付を取得するようにするが、2回目以降は前日以降のActivityのみ対象とする。
この際、Pythonのdatetime型の日付と、Google+のRFC3339形式のデータを比較するため、rfc3339.pyというスクリプトを使う

3.2.あとのテックニックは1.2と1.3を使う