ポッドキャストのダウンロード            14.60版以降

ポッドキャストファイル(MP3)を一括してダウンロード

ここでは、ダウンロードするファイルが、日付形式になっています。

例:「武田鉄矢の今日の三枚おろし」は、
   http://podcast.joqr.co.jp/podcast_qr/takeda/takedas140818.mp3
  のような形式

日付部分が毎回変わります。
よって、自動でダウンロードする場合、日付部分を毎回作成する必要があります。

ポッドキャストのページから正規表現でファイルを検索する方法もありますが、
ここでは、当日から日付を遡ってダウンロードを試み、最初に成功したファイルを最新版と判定することにします。

これにより、プログラムを非常にシンプルに構成することが可能です。

下記のプログラムでは、サブルーチン(DL)の57~75の部分。
指定日数(%user_arg4%)ループで日付を遡ってダウンロード(GetIeDownload)を試み、
成功した段階でループを抜けます。(成功しなかったら、遡って再度ダウンロード)
 



ダウンロードするポッドキャストサイト

ポッドキャストランキングからピックアップした下記のサイト

月~金に毎日放送&ポッドキャスト更新

  サイト名 配信 ポッドキャスト更新(当日)  
  森本哲郎 朝刊読み比べ
  トークファイル
  全国8時です
6:30~8:30 9時 TBS
  荒川強啓 デイ・キャッチ! 15:30~17:46 18時 TBS
  NHK 朝のニュース
    夜10時のニュース
 7:39
20:15
NHK

曜日指定ポッドキャストファイルが指定曜日に更新

曜日 サイト名 放送日時  ポッドキャスト更新日時 放送局
久米宏 ラジオなんですけど 毎週土曜日 13時00分~14時55分 土23:59 TBS 
安住紳一郎の日曜天国
武田鉄矢・今朝の三枚おろし
  日18時頃
月10時
TBS
文化放送



プログラム

保存場所

 ここでは、デスクトップに、「RADIO」フォルダを作成し、そこに保存
 リムーバブルディスクのようにドライブレターが固定でない場合は、(コメントアウトしている)13行目のように、
 ボリューム名を指定することも可能。


ダウンロード処理

 処理の本体はサブルーチン(DL)で実行

 パラメータ
  user_arg1:ダウンロードするファイルのURL
          ただし、日付が未定なので、日付部分は「???」としておく
  user_arg2:保存するファイル名
  user_arg3:日付形式 y:年 m:月 d:日 で表現
          ここでは、日付の形式が、20140810 140610 の2種類があるため
  user_arg4:遡る日数、0:当日 1:前日まで遡る



001       INIT                                  398 500 877 774  1,0,1,600000,0,MyData   
002 ! ---------------------------                              
003 ! ラジオのポッドキャストファイルをダウンロード                
004 !                                                          
005 !  WEBファイル形式 http;//xxx.../..日付.mp3                
006 !  保存ファイル名 任意(基本的にウェブ上と同一)                
007 !  最新ファイル  本日から遡って最初に存在したファイルをダウンロード                
008 !  日付形式    日付フォーマット、遡る日数はパラメータで指定                
009 !  上書き     既存ファイルがある場合はダウンロードしない                
010 !                                                          
011 ! ======================================================                
012       Set              // 保存フォルダ          folder %desktop%¥RADIO   
013 !     Set              // 保存フォルダ リムーバブルディスクの場合          folder GetDriveLetter("MP320"):¥01_RADIO   
014       FolderCreate     // フォルダの作成          %folder%    
015       Set              // 開始時刻              StTime Now()   
016 !                                                          
017 ! 森本哲郎 スタンバイ!  TBS                              
018       Set              // ベースURL          base http://podcast.tbsradio.jp/stand-by/files   
019       Set              // 日付形式              date_format yyyymmdd   
020 !                                                          
021       Call             // 全国8時です          %base%/zen8???.mp3 , %folder%¥10_morimoto-zen8 , %date_format% , 1 DL   
022       Call             // 朝刊読み比べ          %base%/yomi???.mp3 , %folder%¥11_morimoto-yomi , %date_format% , 1 DL   
023       Call             // トーク                %base%/talk???.mp3 , %folder%¥12_morimoto-talk , %date_format% , 1 DL   
024 ! 
025 !                                                          
026 ! 荒川強啓 デイ・キャッチ!  TBS                          
027       Set              // ベースURL          base http://podcast.tbsradio.jp/dc/files   
028 !                                                          
029       Call             // オープニング          %base%/scope???.mp3 , %folder%¥20_arakawa-scope , %date_format% , 1 DL   
030       Call             // ニュース              %base%/clip???.mp3 , %folder%¥21_arakawa-clip , %date_format% , 1 DL   
031       Call             // ランキング            %base%/rank???.mp3 , %folder%¥22_arakawa-rank , %date_format% , 1 DL   
032       Call             // ボイス 山田          %base%/yamada???.mp3 , %folder%¥23_arakawa-yamada , %date_format% , 1 DL   
033       Call             // ボイス 近藤          %base%/yamada???.mp3 , %folder%¥23_arakawa-yamada , %date_format% , 1 DL   
034       Call             // ボイス 青木          h%base%/konishi???.mp3 , %folder%¥23_arakawa-konishi , %date_format% ,1 DL   
035       Call             // ボイス 小西          %base%/konishi???.mp3 , %folder%¥23_arakawa-konishi , %date_format% , 1 DL   
036 !                                                          
037 ! NHKニュース                                              
038 !                                                          
039       Set              // ベースURL          base http://www9.nhk.or.jp/r-news/podcast/mp3   
040 !                                                          
041       Call             // 朝7時のニュース          %base%/???0700_morning_1.mp3 , %folder%¥30_nhk-morning , %date_format% , 1 DL   
042       Call             // 夜7時のニュース          %base%/???1900_night_1.mp3 , %folder%¥30_nhk-night , %date_format% , 1 DL   
043 !                                                          
044 ! 久米宏 ラジオなんですけど  TBS                        
045 !     Call             // 久米宏                http://podcast.tbsradio.jp/kume954/files/???.mp3 , %folder%¥40_kume , "yyyymmdd" , 1 DL   
046 !                                                          
047 ! 武田鉄矢 今日の三枚おろし  文化放送                   
048       Call             // 武田鉄矢              http://podcast.joqr.co.jp/podcast_qr/takeda/takedas???.mp3 , %folder%¥40_takedas , "yymmdd" , 3 DL   
049 !                                                          
050 ! 安住紳一郎の日曜天国  TBS                              
051       Call             // 安住紳一郎            http://podcast.tbsradio.jp/nichiten/files/???.mp3 , %folder%¥40_nichiten , "yyyymmdd" , 1 DL   
052 !                                                          
053 ! ---------------------------                              
054       MSG_BOX                                      全て終了しました。

所要時間 format(Now()-%StTime%,"h時間 n分 s秒")   
055       QUIT             // 終了                             
056 !                                                          
057 ! ======================================================                
058 ! ダウンロードサブ                                         
059 DL                     // ダウンロードサブ                 
060 ! user_arg1 : URL 日付部分は ??? で受け取る                
061 ! user_arg2 : 保存ファイル名                               
062 ! user_arg3 : 日付形式 URLの ??? 部分をこの日付形式で置換                
063 ! user_arg4 : 遡り日数-当日=0                             
064 !                                                          
065       Set              // カウンタ変数          n          
066       For              // 遡り日数分ループ  n;1;%user_arg4%            
067         Set            // 日付を作成            d  format(now()-%n%,%user_arg3%)   
068         Set            // 日付の ??? 部分を置換して完全なURLを作成          url replace(%user_arg1%,"???",%d%)   
069         Set            // 保存ファイルパスを作成          f %user_arg2%-%d%.mp3   
070         Set            // ダウンロード実行          rc GetIeDownload(%url%,%f%,1)   
071         If             // 正常終了?  %rc% = 0             
072           Exit-For     // → 完了                          
073         End-If                                             
074       Next-For         // 正常で無い場合は、日付を遡って再実行              
075       Return                                               



コードの使用方法