WWW::Mixiをさわった
2007/02/22
マイミク一覧を取得した。
#!c:/Perl/bin/perl use strict; use warnings; use Data::Dumper; use WWW::Mixi; my $mixi = new WWW::Mixi( $mail_address, $password, -log => 10, -logcode => 'sjis'); #環境変数(HTTP_PROXY)からproxy情報を読む $mixi->env_proxy(); my $response = $mixi->login(); my @friend_list = $mixi->get_list_friend(); print "friend_list: " . Dumper(@friend_list);
途中、WWW::Mixi::OO に心移りするも、proxyの設定がわからず、WWW::Mixiに戻ってきた。
あと、マイミク一覧に空のセルがあると[warn] name or count is missing in text.と言われたので、Mixi.pmに一行追加した。
*** Mixi.pm.org Thu Feb 22 22:25:43 2007 --- Mixi.pm Thu Feb 22 22:30:03 2007 *************** *** 790,795 **** --- 790,796 ---- for (my $i = 0; $i < @images or $i < @texts; $i++) { my $item = {}; my ($image, $text) = ($images[$i], $texts[$i]); + next if $text =~ /^<br>$/; $text =~ /^\s*([^<>]*)\((\d+)\)<br\b[^<>]*>/ or return $self->log("[warn] name or count is missing in text.\n\t$text\n"); ($item->{'subject'}, $item->{'count'}) = ($1, $2); $image =~ /(<td\b[^<>]*>)(<a\b[^<>]*>)(<img\b[^<>]*>)/ or return $self->log("[warn] td, a or img tag is missing in image.\n\t$image\n");
しかし、正規表現でタグ解析して情報を取るんですね。mixiのバージョンアップ時は大変そうです。>Mixi.pmの中の人