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)

システム稼動記録(2007-08-14)

監視中の銘柄について

銘柄C チャート 解除水準 買建水準 本日終値 判断
4519 http://chart.yahoo.co.jp/c/0b/4/4519.t.gif 2020 2375 2220 監視継続
4666 http://chart.yahoo.co.jp/c/0b/4/4666.t.gif 1178 1337 1195 監視継続
7757 http://chart.yahoo.co.jp/c/0b/7/7757.t.gif 728 881 800 監視継続
8809 http://chart.yahoo.co.jp/c/0b/8/8809.t.gif 1138 1371 1154 監視継続
8803 http://chart.yahoo.co.jp/c/0b/8/8803.t.gif 796 956 839 監視継続
8583 http://chart.yahoo.co.jp/c/0b/8/8583.t.gif 317 373 332 監視継続
7915 http://chart.yahoo.co.jp/c/0b/7/7915.t.gif 2965 3440 3140 監視継続
8804 http://chart.yahoo.co.jp/c/0b/8/8804.t.gif 1423 1694 1489 監視継続

買建中の銘柄について

銘柄C チャート 撤退水準 本日終値 買建価格 評価
7282 http://chart.yahoo.co.jp/c/0b/7/7282.t.gif 3460 3730 2915 収益有望
9110 http://chart.yahoo.co.jp/c/0b/9/9110.t.gif 1026 1154 1094 足元含益
5471 http://chart.yahoo.co.jp/c/0b/5/5471.t.gif 820 874 894 実損有り
9609 http://chart.yahoo.co.jp/c/0b/9/9609.t.gif 198 209 236 実損有り
8358 http://chart.yahoo.co.jp/c/0b/8/8358.t.gif 1478 1492 1635 実損有り
7250 http://chart.yahoo.co.jp/c/0b/7/7250.t.gif 598 652 680 実損有り
3861 http://chart.yahoo.co.jp/c/0b/3/3861.t.gif 556 573 620 実損有り

新規買建サインのお知らせ

監視開始のお知らせ