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 確認成功 申請... 申請成功