Facebookの全アクティビティログをファイルに書き出すツールを作った

node-webkit便利。 https://github.com/nishio/dumpfb/blob/master/main.js

とりあえずアクティビティログのinnerHTMLをそのまま書き出すようにした。僕の目的は自分の過去の発言からの検索なので、イイネした情報とかは捨てても良かったんだけど、JSよりPythonの方が慣れているのでフィルタはPythonで書けばいいかなと。

2008年から今までの7年間で17952件のアクティビティがあって、38MBのファイルが出来た。画像データは含まない。

アクティビティログのページを開いてdumpメニューを押せば毎秒moreリンクをクリックして表示されているアクティビティログを削除しながらファイルに書き出す。よくある実装ではmoreのクリックだけ先にやって全部表示させようとするものがあるが、それはメモリ消費が増えすぎて問題が起こる可能性を懸念したのでこういう設計にした。

頻繁に更新し始める2011年の1月でクロールが停止する現象が起きたが、2010年のリンクをクリックしたら再開したので原因を調べていない。2011年以前は自分があんまり更新していないので、更新のない月が存在するのが原因か、もしくは10の倍数の年であることが原因か。

将来的には、すでに書き出しているアクティビティが見つかった時点で停止するとかの機能が必要かと思うけど、それは必要になった時に作る。