Radiko タイムフリー 自動録音スクリプト
最後の週のミューコミ火曜日を録音するPowerShell
以下を適当にタスクスケジューラで毎週叩きましょう
wget.exe(https://eternallybored.org/misc/wget/)
youtube-dl.exe(http://rg3.github.io/youtube-dl/)
AYTHKeyGet.vbs(radiko.jpのタイムフリーをバッチファイルで一括ダウンロードする - はんぺん.net)
を同じフォルダに置く
$DIR = ".\rec\" $TITLE = "ミュ〜コミ+プラス" $CH = "LFR" #放送局 $FT = "000000" #開始時刻(hhmmss) $TO = "005800" #終了時刻(hhmmss) #最終水曜日を計算 $DIFF = 3 - [System.Convert]::ToInt32((Get-Date).DayOfWeek) if($DIFF -gt 0) {$DIFF = $DIFF - 7} $DAY = (Get-Date).AddDays($DIFF).ToString("yyyyMMdd") #開始終了時刻整形 $FT = $DAY + $FT $TO = $DAY + $TO #Radiko認証 Remove-Item *.m3u8 $AUTHTOKEN = Invoke-Expression -Command 'CScript /nologo AYTHKeyGet.vbs $CH' #HLS取得 .\wget.exe -q --header="pragma: no-cache" --header="Content-Type: application/x-www-form-urlencoded" --header="X-Radiko-AuthToken: ${AUTHTOKEN}" --header="Referer: http://radiko.jp/apps/js/flash/myplayer-release.swf" --post-data='flash=1' --no-check-certificate -O timeshift.m3u8 "https://radiko.jp/v2/api/ts/playlist.m3u8?l=15&station_id=${CH}&ft=${FT}&to=${TO}" foreach( $line in Get-Content .\timeshift.m3u8){ if($line.Contains("radiko")) { $PLAYLIST_URL = $line } } #音声取得 .\youtube-dl.exe -F -x --add-header "X-Radiko-AuthToken:${AUTHTOKEN}" -o "$DIR[$DAY]$TITLE.%%(ext)s" "${PLAYLIST_URL}" Remove-Item *.tmp.txt Remove-Item *.m3u8