Re: Webラジオの保存方法の質問はこちら【23】 ( No.44 )
日時: 2016/10/14 19:55
名前: おひげ

>>42 T.W さん

radiko タイムフリーの保存用の補助バッチを作成してみましたのでお試しください。

radikoの話題はWEBラジオ保存の話題として不適切っぽいようであれば削除をお願いします。



下記をメモ帳などに貼り付けて適当な名前に変更して拡張子を .bat へ変更してください。
(m3u8の取得やAuthTokenの取得は手動で行う必要があります。 >>43 の書込みを参照ください。)
(同一フォルダに ffmpeg.exe が無ければダウンロードは実行されません)


-------ここから下をコピペしてください-------(この行は含めないこと)
@echo off

:: ←この行はコメントです 【 ":" 1文字はジャンプ用のラベル "::" 2文字は注釈用のコメントになります。】

echo.
echo ************ radiko タイムフリー 保存補助 ************
echo.

:INIT

title radiko タイムフリー

:Check

    :: ffmpeg.exe が同一フォルダにあるかどうかチェック

     IF EXIST ffmpeg.exe (GOTO URL_IN)
     echo.
     echo ffmpeg.exe が同一フォルダに見つかりませんでした。
     echo パスが切られている場所に ffmpeg.exeが 無い場合、ダウンロードは行われません。
     echo.
     pause
     echo.

:URL_IN

    :: URL入力用VBS作成処理

     echo *** 再生URLの取得方法 ***
     echo.
     echo 1. Firefox を起動してF12キーを押し、デバックモードに入る
     echo 2. デバックモード "ネットワークウィンドウ" で m3U8 の文字列でURLを絞込む
     echo 3. radiko WEB で目的のタイムフリー番組を選び番組を再生する
     echo 4. 表示されたURLの上側(メソッド:POST)のURLを貼り付けます
     echo.

:URL_IN2

     echo With CreateObject("Scripting.FileSystemObject").CreateTextFile("URL.txt") >>URL.VBS
     echo .WriteLine InputBox("タイムフリー番組再生URLを入力します","radikoタイムフリー","m3u8(メソッドPOST側)のURLを貼り付けてください") >>URL.VBS
     echo .Close >>URL.VBS
     echo End With >>URL.VBS

    :: URL入力用VBSを実行してURLを環境変数にセットして作業ファイル削除

     URL.VBS
     set /p URL= < URL.txt
     del url.vbs >nul
     del url.txt >nul

    :: 入力したURLをチェック? 何もいれないでOKを押したり、キャンセルをした場合再実行

     if "%URL%" NEQ "m3u8(メソッドPOST側)のURLを貼り付けてください" (goto AUTH_IN)
     goto URL_IN2

:AUTH_IN

    :: URL入力用VBS作成処理

     echo *** 再生認証コード(AuthToken)の取得方法 ***
     echo.
     echo 1. Firefox に戻り、先ほどコピーした再生URLを選択する
     echo 2. 右クリックし "編集して再送信(E)" を選択する
     echo 3. スクロールして "アップストリームからの要求ボディ" 内にある
     echo   "X-Radiko-AuthToken" の後ろの文字列をコピーし貼り付けます
     echo.

:AUTH_IN2

     echo With CreateObject("Scripting.FileSystemObject").CreateTextFile("AUTH.txt") >>AUTH.VBS
     echo .WriteLine InputBox("再生認証コード(AuthToken)の入力 X-Radiko-AuthToken: 後の文字列入力します。","radikoタイムフリー","X-Radiko-AuthTokenの文字列を入力してください") >>AUTH.VBS
     echo .Close >>AUTH.VBS
     echo End With >>AUTH.VBS

    :: URL入力用VBSを実行してURLを環境変数にセットして作業ファイル削除

     AUTH.vbs
     set /p AUTH= < AUTH.txt
     del AUTH.vbs >nul
     del AUTH.txt >nul

    :: 入力したAuthTokenをチェック? 何もいれないでOKを押したり、キャンセルをした場合再実行

     if "%AUTH%" NEQ "X-Radiko-AuthTokenの文字列を入力してください" (goto FILE_IN)
     goto AUTH_IN2

:FILE_IN

    :: ラジオ名入力用VBS作成処理

     echo With CreateObject("Scripting.FileSystemObject").CreateTextFile("NAME.txt") >>NAME.VBS
     echo .WriteLine InputBox("ラジオのファイル名を入力します","radikoタイムフリー","ラジオの名称を入れてください") >>NAME.VBS
     echo .Close >>NAME.VBS
     echo End With >>NAME.VBS

    :: ラジオ名入力用VBSを実行して名前を環境変数にセットして作業ファイル削除

     NAME.VBS
     set /p NAME= < NAME.txt
     del NAME.vbs >nul
     del NAME.txt >nul

    :: 入力した名称チェック

     if "%NAME%" NEQ "ラジオの名称を入れてください" (goto SELECT)
     set NAME=Radio

:SELECT

    :: ダウンロード処理

     title radikoタイムフリー %NAME% ダウンロード

     ffmpeg -headers "X-Radiko-AuthToken: %AUTH%" -i "%URL%" -acodec copy "%NAME%.aac"

     echo.
     echo ダウンロードはたぶん終わりました、実際にファイルを再生して確認してください
     echo エラーメッセージが出ている場合は入力が間違っていたり再生開始からダウンロード
     echo までに時間がかかり過ぎた場合等が考えられます。
     echo.
     echo 以下は入力して処理されたURLや認証コードの結果です。
     echo エラーが出た場合、Firefox のデバックウィンドウと見比べてください
     echo.
     echo ラジオ名称 : "%NAME%"
     echo.
     echo 再生認証 : X-Radiko-AuthToken: %AUTH%
     echo.
     echo 再生URL :
     echo.
     echo "%URL%"
     echo.

     goto END

:END

    :: XP環境の場合 timeout 15 を pause に変更してください

    echo 何かキーを押すかカウントが終わり次第ウィンドウは閉じられます。
    echo.
    timeout 15
    exit
-------ここから上をコピペしてください-------(この行は含めないこと)




トップページ