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 -------ここから上をコピペしてください-------(この行は含めないこと)
|
|