「mixiでいくつかのコミュニティに共通して入ってるメンバーを簡単に検索できたら、思わぬとこでマニアックな趣味が共通してるヒト発見できたりしてオモシロそうなのにねー。」
ってことを1年くらい前から思ってて、そんなツールねーかなー、とか探してたんだけどなかなか見つかんないので(もしかしたらあんのかもしんねーけど)、俺お得意の『勢い』で、今回もなんか作っちゃいました。名前そのまま、mixiコミュニティ共通メンバー検索ツール。
mixiコミュニティ共通メンバー検索
使い方というか動きを簡単に説明すると、気になるコミュニティのURLを入力して、メンバー検索ボタン押すだけ。その後は抽出されたメンバーを見つつ、抽出追加ボタン押していき、そのコミュニティメンバーの抽出終わったら、次に共通してるメンバーを探したい対象のコミュニティのURLを同じように入れてメンバー検索ボタンを押す。また、メンバー抽出を進めていって、抽出が完了すると共通メンバーがリストされる。その共通メンバーに対象コミュニティを指定すれば、さらにそのコミュニティにも参加してるメンバーを検索してくれるぜ!っていうオモチャっす。
字面で見るとなんか分けわかんないけど、コミュニティURL入れてボタン押してりゃなんか条件にあわせたメンバーが勝手に次々出てくる感じッすよ。たぶん。
mixiサービスへのアクセスは、WWW::Mixiというライブラリモジュールを内部で使わせてもらっております。そのライブラリは胸ときめくような素敵テクノロジーな代物なんですが、その上に俺の作った小汚いベタPerlのCGIを被せてある感じなので、ヘンチクリンな動作があったりなんかするのもオオカワクオリティという名の仕様です。
作ってみた感じの感想というかレビューというか、言い訳というか。
WWW::Mixiのライブラリは、早い話が「mixiのサイトのページHTMLをとにかくそのまま取得して、アタマっから正規表現でパースかけてデータを抽出する」機能のライブラリなのね。だからとにかく、通信データはデカイし、解析するのにやたらサーバ負荷かかるわで、「大量にまとめて処理させられない」のが残念だった。
今回はコミュニティのメンバーを抽出するってのが目的だったんだけど、これ、早い話がメンバーリスト50人ずつのページを1ページ1ページ解析してデータ集めしてるようなもんだから、どうにも時間かかる。それに負荷もかかるもんだから、一気にたくさんのメンバーを引っこ抜けないので、一定量ごとに抽出しなくちゃならないって動きにしなきゃならなかったのがメンドかったかも。
それ影響で使い勝手的にも手数増えたのもあるし、なにより、ステートレスなCGIなもんだから抽出メンバーデータを全部保持できないので、複数回抽出を行ったコミュニティの検索結果の場合、該当メンバーの詳細が出せないのが残念だった。(id番号だけ出せる感じ。詳細は直接そのメンバーのトップ見てくださいな。)
あと、WWW::Mixiのメソッドで欲しかったのは、「コミュニティidからそのコミュニティのトップページ情報抽出」するメソッドかなあ。それが無いのでこの検索ツール上ではコミュニティの名前をidでしか出せてないのが残念。つか、idだけ見てもどのコミュニティの共通メンバーだかだんだんわかんなくなってくるのが残念。コミュニティトップページへリンクを貼ってあるから見に行けばわかるんだけど、わざわざ見に行かなきゃならないのが残念。
とはいっても、チャチャっと作った割にはやりたかったことが出来たのでとりあえず満足した。早速、いろいろな興味あるコミュニティから共通参加メンバーを探してみたりしてるわけだが、やっぱコレ、オモロイわ。
なんつーかなー、「同じ様なセンスのヤツは同じような目線の高さだし、俺が好きなもの好きなやつはそいつが好きなもの俺も結構好きだったりする」っていうのがよくわかったわ。類は友を呼ぶ。人類みな兄弟。世界人類が平和でありますように、って書いてあるプレートをチビッコの頃になんかやたら家の近所で見つけて怖くなったと言ったから七月六日はサラダ記念日。
あー、あと、共通メンバーをいろいろ探してる中でちょっとオモシロいコミュニティ参加パターンがあることに気が付いた。というのは、
『***大好き!』系のコミュニティに入ってるヒトの何人かは、『***大キライ!』系のアンチコミュニティにも一緒に入ってることが多い。(***は同じアーティストとかモノとかメディアとか)
という法則を発見した。どっちが本当の居場所かしらんけど、「好きだからこそ」「キライだからこそ」、意を反するヒトの主張も興味あるっていうことなんだろうなー。ご苦労様です。
まあ、そんな感じのガラクタですけど、よっぽど暇な興味ある人がいたら好き勝手に使って、共通のコミュニティに入ってる趣味が似てるオモシロさんなんかを探して楽しんでみてくださいな。
それと、上述した「まとめて抽出できないのでメンバー情報を全部保持できない」っつのをどうにかするべく、WWW::Mixiを使って取得したデータをXMLで返せるようにして、Ajax化し、クライアント(ブラウザ)側の潤沢なメモリとCPUを食い潰す恐ろしいウェブアプリ(という名のブラウザクラッシャー)を作ろうかと考えてはみたもののやっぱメンドクサイから誰か作ってくれるまで待ってようと思ったり思わなかったり。
つか、mixiが直接、API提供したらいいのにと思ったけど、たぶん商売にのせにくいのでやらないだろうと思うので、やっぱり果報は寝て待つ方向で。mixiさん、「マイミクシィ最新日記」に無駄にAjaxなプレビューなんて付けてる場合じゃなくて、出来たらAPIのほうを1つご検討いただければ幸いです。かしこ。
【WWW::Mixiなもの関連】
・非公式モバイルmixi@mixi.10u.org
・Mixi更新チェックツールmixiToday
・mixi"足あと"保存+解析Perlスクリプト "mixi Log Loader" 公開
・mixiGraphは、mixiのマイミクシィ一覧を辿り、関係図を作って表示するソフトウェアです。
・mixi日記書き込みツール "mixi Diary Writer"
・mixipress mixiの新着情報をRSSに変換するCGIスクリプトです
・mixiの新着日記からRSSフィードを生成する
・コミュ全トピ一覧β
・mixi ちゃんねるβ mixi 参加コミュニティの BBS ビューワです。
・mixi類似度判定(暫定版) 自分とマイミクの人の加入コミュニティを比較し、共通するものをピックアップして類似度を計算。
・mixiお友達のお友達カウンター
・mixiニュース→RSSに変換
【その他のmixi関連ウェブアプリ】
・マイミクマップ GoogleMapsとmixiをRemixしたマイミクマップというウェブアプリケーションです。
・mixiのユーザ同士で、共通するコミュニティを表示するツール
・mixiの共通コミュニティをハイライト(Greasemonkey Script)
ご連絡どうも。
調べてみたらmixi側のログイン仕様が変更になったのでエラーが出てるみたいです。
がんばって調査、修正してみようと思います。
修正完了したらここでお知らせしますでまた試してやってくださいね。
直りましたよ。
というか、ごめんなさいね。
調べてみたらシステムやプログラムの問題じゃなくって単にログインパスワードを変更したのを反映させてなかったのでmixiにログイン出来なくなってるだけでした。申し訳無し。とほほ。
もう使えるようになってると思いますのでお試しアレー。