Radikoの地域判定
投稿:2019-04-13
2日に1回の頻度でRadikoの地域判定が北海道から外れてしまい、その都度地域判定を申請しています。
Radikoの地域判定を申請するのは面倒ですよね。
ヘルプの一番下にある奴です。
これを自動的に申請するプログラムを作りました。
radiko.jp ヘルプ
radiko.jp ヘルプ
#!/usr/bin/perl
use utf8;
use strict;
use warnings;
use open IO => ":utf8";
use Encode::Locale;
use LWP::UserAgent;
use feature "say";
binmode STDOUT, ":encoding(console_out)";
binmode STDERR, ":encoding(console_out)";
$| = 1;
use constant AREA_ID_HOKKAIDO => "JP1";
my $ua = LWP::UserAgent->new;
my $res = $ua->get("https://radiko.jp/area");
my $area_id;
if ($res->is_success) {
my $area = Encode::decode "utf8", $res->content;
($area_id) = $area =~ /class="([^"]+)"/;
say "エリアID:$area_id";
} else {
say "エラー:" . $res->status_line;
}
if (AREA_ID_HOKKAIDO ne $area_id) {
say "別エリア判定";
say "申請確認:" . AREA_ID_HOKKAIDO;
$res = $ua->post("https://radiko.jp/contact3", {
prefecture => AREA_ID_HOKKAIDO,
email => 'dummy@dummy.com',
area_judge_result => $area_id,
area_id => AREA_ID_HOKKAIDO,
}, );
if ($res->is_success) {
say "確認成功";
} else {
say "エラー:" . $res->status_line;
}
say "申請...";
$res = $ua->post("https://radiko.jp/contact3", {
confirm => "1",
email => 'dummy@dummy.com',
area_judge_result => $area_id,
prefecture => AREA_ID_HOKKAIDO,
area_id => AREA_ID_HOKKAIDO,
}, );
if ($res->is_success) {
say "申請成功";
} else {
say "エラー:" . $res->status_line;
}
} else {
say "北海道判定のため終了";
}
こんな感じになります。
エリアID:JP13 別エリア判定 申請確認:JP1 確認成功 申請... 申請成功
