GoogleChromeでFlashファイル(動画)のキャッシュを取得する (Ubuntu)

GoogleChromeでは /tmp 以下に動画キャッシュが保存されていましたが、
少し前から変わっちゃったので、保存するスクリプト作りました。

誰でも気に入った動画を保存したいことありますよね??

ブラウザで見ている、ダウンロード型の動画ファイルならダウンロードが完了すれば全て保存できます。

ニコ動やYouTube、ひま動...というか、ダウンロード型なら全て使えると思います。


使い方は簡単で、スクリプトを getFlash.py として保存した場合なら、

python getFlash.py

と実行するだけです。
実行すると新しくウィンドウが開くので、その中にある保存したい動画ファイルのファイル番号を入力し、
最後に保存したいファイル名を入力すれば完了します。
※保存先は /tmp 以下に保存されます。


連続して使用する場合は、デフォルトでウィンドウがオープンするためウザくなりますが、
「-n」を指定するとウィンドウは開きません。連続して使う場合は「-n」を指定しましょう。

python getFlash.py -n


[※注意]
1、ファイルは /tmp 以下に保存されます
2、ブラウザを閉じるとキャッシュも消えてしまうため、ブラウザを開いたまま実行してください
3、Ubuntu(Linux) でしか動作確認していません。(>_<)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
GetFlash - GoogleChromeのFlashFileを取得する
 Usage1: python getFlash.py
 Usage2: python getFlash.py -n

"""
import re
import commands
import os
import sys

def GetFlash():
    r=re.compile(commands.getoutput('whoami')+"\s+([0-9]+)")
    pid=r.match(commands.getoutput('ps aux | grep libgcflashplayer.so'))
    if pid.group(1) and os.path.isdir('/proc/'+ pid.group(1) +'/fd/'):
        dirpath='/proc/'+ pid.group(1) +'/fd/'
        try:
            if sys.argv[1] == '-n':
                openWindow=False
            else:
                openWindow=True
        except IndexError:
            openWindow=True
        if openWindow == True:
            commands.getoutput('nautilus '+ dirpath)
        file=''
        while file.isdigit() == False:
            file=raw_input('Enter File Number or Exit(n): ')
            if file in ['n','no','No','NO']:
                sys.exit('Cancelled by user.\n');
            if os.path.isfile(dirpath + file) == False:
                print(' ' + file + ': File does not exist.(in ' + dirpath +')')
                file=''
        newfile=''
        while newfile == '':
            newfile=raw_input('Enter New File Name: ')
        commands.getoutput('cp '+ dirpath + file +' /tmp')
        commands.getoutput('mv /tmp/'+ file +' /tmp/'+ newfile)
        print""
        print('Success! Your movie file has been copied to "/tmp/'+ newfile +'" .')
        print ""
    else:
        print('No Cache Dir (Google Chrome Flash)')


def main():
    GetFlash()

if __name__ == '__main__':
    main()

また、実際に使用する場合は毎回コマンドを全部打ち込むのもアレなので、
.bashrc に aliasを作っておけば楽ちんです。

alias getFlash='python [保存したパス]/getFlash.py '

登録したら source コマンドで反映させればおkです。

source .bashrc

これで、以後簡単に実行できます。

getFlash


使えなかったらごめんなさい 。・゚・(ノД`)・゚・。ウエエェェン