RD-Style

タイトル一覧は、

GET /title/title.htm

で採れる

以下のようなデータがJSにて記録されている

RD-X91

c1[0]="HDD";c2[0]="001";c3[0]="乙女はお姉さまに恋してる 12/12";c3_ext[0]="乙女はお姉さまに恋してる 12/12";c4[0]="CH 3";c5[0]="2006/12/12";c6[0]="国内アニメ";c7[0]="非保護";c8[0]=1;c9[0]=1;c10[0]=0;c11[0]=1;c12[0]="火";c13[0]="original_icon.gif";c14[0]="Anime_s.gif";c15[0]="01";c16[0]="00:00";c17[0]="0:30:01";c18[0]="4";c19[0]="007001";c20[0]="2006/12/1200:00"
c1[1]="HDD";c2[1]="002";c3[1]="らぶドル 12/12";c3_ext[1]="らぶドル 12/12";c4[1]="CH 3";c5[1]="2006/12/12";c6[1]="国内アニメ";c7[1]="非保護";c8[1]=2;c9[1]=1;c10[1]=0;c11[1]=2;c12[1]="火";c13[1]="original_icon.gif";c14[1]="Anime_s.gif";c15[1]="01";c16[1]="02:10";c17[1]="0:30:01";c18[1]="4";c19[1]="007001";c20[1]="2006/12/1202:10"

RD-H1

c1[6]="HDD";c2[6]="007";c3[6]="くじびきアンバランス 12/01";c4[6]="CH 3";c5[6]="2006/12/01";c6[6]="国内アニメ";c7[6]="非保護";c8[6]=95;c9[6]=1;c10[6]=0;c11[6]=7;c12[6]=-2013288148;c13[6]="original_icon.gif";c14[6]="Anime_s.gif";c15[6]="01";
c1[7]="HDD";c2[7]="008";c3[7]="それゆけ!徹之進 12/02";c4[7]="CH11";c5[7]="2006/12/02";c6[7]="ジャンルなし";c7[7]="非保護";c8[7]=96;c9[7]=1;c10[7]=0;c11[7]=8;c12[7]=-2013288148;c13[7]="original_icon.gif";c14[7]="";c15[7]="";

これを取り出す正規表現

/^((c\d+)\[(\d+)\]\=\"([^\"]*)\")+/

配列 RD-X91 RD-H1 説明
c1[] y y 記録先
c2[] y y 番号
c3[] y y 名前
c4[] y y CH
c5[] y y 日付
c6[] y y ジャンル
c7[] y y 保護
c8[] y y ID
c9[] y y タイトルタイプ
c10[] y y ドライブ
c11[] y y 表示番号
c12[] y y 曜日
c13[] y y 属性アイコン
c14[] y y ジャンルアイコン
c15[] y y サブジャンル
c16[] y 時分
c17[] y 時間
c18[] y 曜日番号
c19[] y メインジャンル(3桁)サブジャンル(3桁)
c20[] y 録画年月日時分(ジャンルソート用)
#/bin/perl

$DATA = <<DATA;
c1[0]="HDD";c2[0]="001";c3[0]="乙女はお姉さまに恋してる 12/12";c3_ext[0]="乙女はお姉さまに恋してる 12/12";c4[0]="CH 3";c5[0]="2006/12/12";c6[0]="国内アニメ";c7[0]="非保護";c8[0]=1;c9[0]=1;c10[0]=0;c11[0]=1;c12[0]="火";c13[0]="original_icon.gif";c14[0]="Anime_s.gif";c15[0]="01";c16[0]="00:00";c17[0]="0:30:01";c18[0]="4";c19[0]="007001";c20[0]="2006/12/1200:00"
c1[1]="HDD";c2[1]="002";c3[1]="らぶドル 12/12";c3_ext[1]="らぶドル 12/12";c4[1]="CH 3";c5[1]="2006/12/12";c6[1]="国内アニメ";c7[1]="非保護";c8[1]=2;c9[1]=1;c10[1]=0;c11[1]=2;c12[1]="火";c13[1]="original_icon.gif";c14[1]="Anime_s.gif";c15[1]="01";c16[1]="02:10";c17[1]="0:30:01";c18[1]="4";c19[1]="007001";c20[1]="2006/12/1202:10"

c1[6]="HDD";c2[6]="007";c3[6]="くじびきアンバランス 12/01";c4[6]="CH 3";c5[6]="2006/12/01";c6[6]="国内アニメ";c7[6]="非保護";c8[6]=95;c9[6]=1;c10[6]=0;c11[6]=7;c12[6]=-2013288148;c13[6]="original_icon.gif";c14[6]="Anime_s.gif";c15[6]="01";
c1[7]="HDD";c2[7]="008";c3[7]="それゆけ!徹之進 12/02";c4[7]="CH11";c5[7]="2006/12/02";c6[7]="ジャンルなし";c7[7]="非保護";c8[7]=96;c9[7]=1;c10[7]=0;c11[7]=8;c12[7]=-2013288148;c13[7]="original_icon.gif";c14[7]="";c15[7]="";
DATA


%attr = (
	'1'  => '記録先',
	'2'  => '番号',
	'3'  => '名前',
	'4'  => 'CH',
	'5'  => '日付',
	'6'  => 'ジャンル',
	'7'  => '保護',
	'8'  => 'ID',
	'9'  => 'タイトルタイプ',
	'10' => 'ドライブ',
	'11' => '表示番号',
	'12' => '曜日',
	'13' => '属性アイコン',
	'14' => 'ジャンルアイコン',
	'15' => 'サブジャンル',
	'16' => '時分',
	'17' => '時間',
	'18' => '曜日番号',
	'19' => 'メインジャンル(3桁)サブジャンル(3桁)',
	'20' => '録画年月日時分(ジャンルソート用)',
);

foreach (split(/\n/, $DATA ))
{
  $line = $_;
  while(true)
  {
    last unless($line =~ /(c(\d+)\[(\d+)\]\=\"([^\"]*)\")+/);
    print "$3: $attr{$2} => $4\n";
    $line = $';
  }
}

出力

% perl test.pl
0: 記録先 => HDD
0: 番号 => 001
0: 名前 => 乙女はお姉さまに恋してる 12/12
0: CH => CH 3
0: 日付 => 2006/12/12
0: ジャンル => 国内アニメ
0: 保護 => 非保護
0: 曜日 => 火
0: 属性アイコン => original_icon.gif
0: ジャンルアイコン => Anime_s.gif
0: サブジャンル => 01
0: 時分 => 00:00
0: 時間 => 0:30:01
0: 曜日番号 => 4
0: メインジャンル(3桁)サブジャンル(3桁) => 007001
0: 録画年月日時分(ジャンルソート用) => 2006/12/1200:00
1: 記録先 => HDD
1: 番号 => 002
1: 名前 => らぶドル/12
1: ,H => CH 3
1: 日付 => 2006/12/12
1: ジャンル => 国内アニメ
1: 保護 => 非保護
1: 曜日 => 火
1: 属性アイコン => original_icon.gif
1: ジャンルアイコン => Anime_s.gif
1: サブジャンル => 01
1: 時分 => 02:10
1: 時間 => 0:30:01
1: 曜日番号 => 4
1: メインジャンル(3桁)サブジャンル(3桁) => 007001
1: 録画年月日時分(ジャンルソート用) => 2006/12/1202:10
6: 記録先 => HDD
6: 番号 => 007
6: 名前 => くじびきアンバランス 12/01
6: CH => CH 3
6: 日付 => 2006/12/01
6: ジャンル => 国内アニメ
6: 保護 => 非保護
6: 属性アイコン => original_icon.gif
6: ジャンルアイコン => Anime_s.gif
6: サブジャンル => 01
7: 記録先 => HDD
7: 番号 => 008
7: 名前 => それゆけ!徹之進 12/02
7: CH => CH11
7: 日付 => 2006/12/02
7: ジャンル => ジャンルなし
7: 保護 => 非保護
7: 属性アイコン => original_icon.gif
7: ジャンルアイコン =>
7: サブジャンル =>