【新規/改造】改造
【関数名】parse_list_community
【説明】コミュニティリスト
【備考】status取得無し、background取得無し
【例】
$res = $mixi->get( 'http://mixi.jp/list_community.pl?id=2' );
@items = $mixi->parse_list_community( $res );
【ソース】
sub parse_list_community {
my $self = shift;
my $res = (@_) ? shift : $self->response();
return unless ($res and $res->is_success);
my $base = $res->base->as_string;
my $content = $res->content;
my @items = ();
my $status_backgrounds = {
'bg_orange1-.gif' => '管理者',
};
# get community list part
my $content_from = qq(\Q<!--[MessageArea]-->\E);
my $content_till = qq(\Q<!--/[MessageArea]-->\E);
return $self->log("[warn] community list part is missing.\n") unless ($content =~ /$content_from(.*?)$content_till/s);
$content = $1;
# get community list rows
my @rows = ();
push(@rows, [$1, $2, $3, $4, $5, $6]) while ($content =~ s/<div class="iconListImage"><a href="(.*?)" style="background: url\((.*?)\); text-indent: -9999px;" class="iconTitle" title="(.*?)">(.*?)<\/a><\/div><span>(.*?)\((\d+)\)<\/span>//is);
return $self->log("[warn] community list has no rows.\n") unless (@rows);
# parse each items
foreach my $row (@rows) {
my ($link_part, $image_part, $alt_part, $text_part, $subject_part, $num_part ) = @{$row};
【新規/改造】改造
【関数名】parse_show_log
【説明】足あと解析
【備考】去年の足あと、動作未確認
【例】
$res = $mixi->get( 'show_log.pl' );
@items = $mixi->parse_show_log( $res );
$res = $mixi->get( 'show_log.pl?page=2' );
push( @items, $mixi->parse_show_log( $res ) );
【ソース】
1.「use Time::Local;」する。
# use Jcode;
use LWP::Debug ();
use HTTP::Cookies;
use HTTP::Request::Common;
use Time::Local;
sub new {
my ($class, $email, $password, %opt) = @_;
my $base = 'http://mixi.jp/';
2.parse_show_log
sub parse_show_log {
my $self = shift;
my $res = (@_) ? shift : $self->response();
return unless ($res and $res->is_success);
my $base = $res->base->as_string;
my $content = $res->content;