http://rubyforge.org/projects/mixi/

にあるmixiライブラリを使用しようと思ったのですが、上手くいきません。
必要なライブラリはlib以下にインストールし、配布物内にあるサンプルコードである
con = Mixi::Connection.new :email=>"mail", :password=>"pass", :enable_cache => true
mine = con.login_user
mixies = mine.mymixies
mixies.each { |friend|
puts friend.name
}
(mailとpassは自らのものを入力)
を実行したのですが、
C:/Program Files/RDE/src/testmixt.rb:1:in `require': ./mixi.rb:107: unmatched (: /<td>([^<>]*)\244\265\244(\d+\)<\/td>/ (SyntaxError)
./mixi.rb:138: unmatched (: /^(.*)\244\265\244(\d+\)/
./mixi.rb:192: unmatched ): /start: \245\327\245愠\325\245\243\241\274\245・.*)start: diary_new /
./mixi.rb:228: unmatched (: /^(.*)\244\265\244(\d+\)/ from C:/Program Files/RDE/src/testmixt.rb:1
Completed(1)
となり上手く行きません。
エラーの内容を見ると、どうやらマッチング処理の部分に問題があるようですが、どのように修正すればいいのか困っています。

回答の条件
  • 1人5回まで
  • 登録:2007/01/22 12:06:48
  • 終了:2007/01/25 01:31:13

回答(1件)

id:takfjt No.1

takfjt回答回数23ベストアンサー獲得回数32007/01/22 23:38:42

ポイント60pt

手元で確認したところ,別のエラーが出ました.

恐らくバグというよりは,

mixi側のhtmlの変化に対応していないのではないかと思われます.

どうにかするためには,ライブラリを自分で直す

必要があると思います.

ちょっと手を入れてみましたが,

片手間でできる修正で直る問題ではなさそうです.

限定的な機能が欲しいのであれば,mixiライブラリが使っている

mecanizeライブラリを使って自分で書くのがよいでしょう.

http://yoosee.net/d/archives/2005/09/02/002.html

どうしてもmixiライブラリが必要ならば,

ライブラリのソースとmixiのHTMLを見比べながら

1つずつエラーを潰すことになると思います.

id:gun_kata

リンク先のソースは実行できました。

自分が必要としている機能は、自分の友人id及びコミュidのリスト化と、自分の友人それぞれが持つ友人id及びコミュidのリスト化です。

リンク先を見るに、

friendlist = agent.get('http://mixi.jp/list_friend.pl')

のようにして、

そこからidをマッチングさせる、といった形になるのでしょうか。

まだよく理解していないので、友人の友人idリスト及びコミュidリストの作り方は良く判りませんが・・・

ともかくありがとうございます。参考になりました。

2007/01/24 14:39:52
  • id:takfjt
    マイミクのマイミクを取得するスクリプトを書いてみました.
    もしよろしければお使いください.
    # rubyの作法とかあまり知らないので汚いです^^;

    http://www.takfjt.net/files/getmymixi.zip
  • id:gun_kata
    ありがとうございます!
    とても助かりました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません