WWW::Mixiをさわった

マイミク一覧を取得した。

#!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の中の人

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.