Subscribed unsubscribe Subscribe Subscribe

ももクロライブのチケットを手に入れたい

Perl momoclo

最近の人気急上昇により抽選の倍率も高くなり、すっかりチケットが手に入らなくなってしまった。
が、なかには複数枚入手して余った、急遽行けなくなった、などの事情により手放さざるを得なくなり某SNSで譲渡先を探しているヒトも僅かながら居る。
しかし供給に対し需要が圧倒的に多いため、あっという間に希望者が集まりすぐに書き込みが消えてしまうので、すぐに反応しないと負ける。
ので、定期的にチェックして自分のiPhoneに通知するようにしている。

#!/usr/bin/env perl
use strict;
use warnings;

use AnyEvent::WebService::ImKayac;
use Config::Pit;
use Log::Minimal;
use WWW::Mechanize;
use Web::Scraper;

my $latest_comment = '';
my $config = pit_get('mixi.jp', require => {
    email    => 'email address',
    password => 'password',
});
my $im = AnyEvent::WebService::ImKayac->new(
    type => 'none',
    user => 'sugyan',
);
my $mech = WWW::Mechanize->new;
$mech->get('https://mixi.jp/');
$mech->submit_form(
    form_name => 'login_form',
    fields    => $config,
);

my $cv = AE::cv;
my $w = AE::timer 0, 60, sub {
    $mech->get('http://mixi.jp/view_bbs.pl?id=65643334&comm_id=3358865');
    my $res = scraper {
        process 'div#bbsComment dt.commentDate', 'comments[]' => 'TEXT';
    }->scrape($mech->content);

    my $latest = $res->{comments}[-1];
    infof('latest: %s', $latest);
    if ($latest ne $latest_comment) {
        $im->send(
            message => $latest,
            cb => sub {
                my $res = shift;
                infof('result: %s', $res->{result});
            },
        );
        $latest_comment = $latest;
    }
};
$cv->recv;

これのおかげで見逃さずに申し出することができているけど、今のところまだ手に入れられていない…