先日、以下の記事で過去ツイートをクロールするツールを作ったものの…
指定したTwitterアカウントの全ツイートを取得(暫定.NET版) | Moonmile Solutions Blog
http://www.moonmile.net/blog/archives/2851
あまりに遅いので、やっぱり twitter api を使うように書き直しました。oauth 認証を使わない場合は、150/h の制限が掛かるのですが、oauth 認証をした後だと 500/h 位?は呼び出しが可能なので、大抵の場合は大丈夫かなと。
200 件ずつ api で拾ってきています。@moonmile の約3000件が、1分ちょっとぐらいで取得可能です。過去3200件までなので、それ以前の場合は、別途作らないと駄目かなと。
■ダウンロード
TwiCatchStar.0.2.zip をダウンロードして解凍してください。
EXDoc.dll
TwiLib.dll
TwiCatchStar.exe
読んでね.txt
の4つのファイルがあるので、適当なフォルダにコピーしてください。
TwiCatchStar.exe が本体です。
■初期設定
初回だけ、oauth 認証の設定をします。
1.「初期化」ボタンを押して、oauth 認証をします。
2.内容を確認して「連携アプリを認証」ボタンをクリックします。
3.PIN 番号をコピーします(番号は、その時によって違います)
4.左側にあるテキストボックスに番号をコピーして、設定ボタンをクリック。
5.認証が成功すると、「取得」ボタンに変わります。
■取得の仕方
左側にあるテキストボックスに「moonmile」のように twitter で使われている名前(screen name)を入れて、「取得」ボタンをクリックしてください。
だいたい1分ぐらい経つと取得が終了します。最新のものから取得するので、途中で辞めたい場合は「中断」ボタンをクリックしてください。
「コピー」ボタンをクリックすると、クリップボードにコピーするのでメモ帳かExcelにペーストして使って下さい。
■今後の予定
保存に関しては、
- 適当なファイルに保存する。
- 適当なデータベースに保存する。
予定です。
あとは、外部からの呼び出しが可能にするとか。
まあ、過去3000ツイートあれば、十分ストーカー…じゃなかったヲッチングができるわけで、それ以前の情報を取ろうと思うと、google の期間指定を使ってクローリングするのがよさそうです。twitter.com のほうは、モバイルブラウザを使っても取ってこれないので、おおもとでブロックしているらしく、「もっと見る」ボタンをクリックしても3200以前のツイートが取れませんでした。
google 経由のクロールのほうは別途考えるとして、先にデータベース化かな。
azure を通常の web サイトのように使うと、非常に多くの課金が掛かってしまう。コンピューティング時間なので、デプロイしたアプリケーションが、azure 上にある限り課金がかかる、つまり、24時間x30日=約800時間分の課金がかかる。こうなると、ちょっと無料提供というのは難しいのかも。google app engine もそうなので、格安の web サーバーを中心にして組み立てたほうが安上がりなのかも。
そのあたりは、「いくらクラウドにかけるのか」、どれだけそのアプリで収入を得られるのか、投資をするのか、が判断の基準になると思う。漠然とアプリをアップロードするだけでは、課金バッカリかかってしまうので、注意が必要。