youtube mp4ファイルダウンロード by ruby

rubyyoutubeのmp4ファイルダウンロードしてみた

# coding: utf-8
require 'open-uri'
require 'json'
require 'cgi'

open("http://www.youtube.com/watch?v=VIDEO_ID","User-Agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3") do |f|
	/ls.setItem\(\'PIGGYBACK_DATA\', \"\)\]\}\'(.*)\"\)\;/i =~ f.read
	buf= $1.gsub(/\\\"/,"\"").gsub(/\\"/,"\"")
	data = JSON.parse(buf)
	url=CGI.unescape(data['content']['video']['fmt_stream_map'][0]['url'])
	open(url.gsub(/\\\//,"\/").gsub(/\\u0026/,"&")) do |v|
		open("mov.mp4","wb") do |m|
			m.write v.read
		end
	end
end