いつも聞いてるネットラジオを取得するスクリプトをbashからrubyに書き換えてみた。
#!/usr/bin/ruby -Ku require 'open-uri' require 'hpricot' require "rexml/document" downDir = "ダウンロードするディレクトリ" def get_mms_uri() html = Hpricot(open("対象のURI").read) array = Array.new (html/:a).each do |link| URI.extract(link[:href]).grep(/asx/) do |asx| array.push(asx) end end asx = nil open(array.shift) do |xmlfile| asx = REXML::Document.new(xmlfile) end return asx.elements['/ASX/ENTRY/REF'].to_s.slice(/mms:..*\.wm[av]/) end def get_mms(uri, dir) filename = uri.split(/\//).pop if File.exist?("#{dir}/#{filename}") then sleep(60 * 30) # 60秒 x 30 = 30 min puts "sleep 30 min" get_mms(uri, dir) else `mimms -q "#{uri}" "#{dir}/#{filename}"` end end get_mms(get_mms_uri,downDir)
スポンサーリンク
コメント