pythonでニコニコ動画のflvをダウンロードする

Perlでニコニコ動画のflvとコメントxmlをダウンロードするという記事を拝見しまして、「pythonでもできないかなー」と思ってやってみました。
コメントは今回省略しましたが、flvまではmechanizeモジュールの力を借りて成功…したと思います。pythonのmechanizeモジュールはクッキーを勝手に食べてくれるようです。
(試した環境:MacOS10.4.10 / python 2.5.1)

#coding:shift_jis
import os,string
from mechanize import Browser
# http://wwwsearch.sourceforge.net/mechanize/ 

br = Browser()

#ユーザー設定部
#適宜改変してください
user_id ='yourname@yourhost.com'
pass_wd = 'yourpassword'
mov_name='sm999999'
save_dir ='/Users/yourlocation/Desktop/'

#ログイン
def login(id,passwd):
	br.open("http://www.nicovideo.jp/")
	br.select_form(nr=0)
	br["mail"]=id
	br["password"]=passwd
	contents =br.submit()
	print 'Login successful'

#ダウンロードするファイルを探し出す
def main(target):
	br.open("http://www.nicovideo.jp/watch/%s" % target)
	contents=br.open("http://www.nicovideo.jp/api/getflv?v=%s" % target)
	temp = contents.get_data().split('&')
	res = unescape(temp[2])
	res = string.replace(res,'url=','')
	print 'Location get successful'
	savefile(target,res)
		
#ファイルをローカルにセーブ
def savefile(fileName,fileLoc):
	f=open(save_dir + fileName + '.flv','wb')
	contents=br.open(fileLoc)
	f.write(contents.read())
	print 'File save complete'
	f.close

#エスケープ文字を置換する
def unescape(strg):
	strg = string.replace(strg,'%2F','/')
	strg = string.replace(strg,'%3A',':')
	strg = string.replace(strg,'%3D','=')
	strg = string.replace(strg,'%3F','?')
	return strg
	
if __name__ == '__main__':
	login(user_id,pass_wd)
	main(mov_name)