## simplescreenrecorderというアプリを使ったUbuntuでのスクリーンキャストの作成と,SublimeTextの自作プラグインを使ったTwitterへの投稿

:CATEGORIES: Ubuntu

> 2020年05月09日11時50分08秒の記録_SublimeTextでTwitterに投稿 - YouTube https://t.co/TgVme45lT9

 これまでスクリーンキャストに使っていたKazamというアプリが起動時にエラーを出すようになり,探すと見つかったのがsimplescreenrecorderというアプリになります。

2018年11月27日1443:記録_REGEXP:”hirono”/モトケン(@motoken tw)の検索(2010 08 23〜2018 11 25/2018年11月27日1 https://www.youtube.com/watch?v=9JxP3aTUa6o

2018年12月10日0950:記録_はてなブログにインポートした、はてなダイアリーの記事の文字化けをデータベースとあわせて修正 https://www.youtube.com/watch?v=D8LnRgOK02E

2018年12月23日1149:記録_モトケンこと矢部善朗弁護士(京都弁護士会)による返信ツイートの記録(確認) https://www.youtube.com/watch?v=JPnjLrbXwLk

2018年12月23日1220:記録_モトケンこと矢部善朗弁護士(京都弁護士会)による被ブロック状態と、最新タイムライン状況 https://www.youtube.com/watch?v=Iy447acLIOs

2018年12月23日1420:記録_「ブロック」をキーワードに含むモトケンこと矢部善朗弁護士(京都弁護士会)のツイートのまとめ記事制作 https://www.youtube.com/watch?v=6kFBT0hnB9w

モトケン(@motoken_tw)さん   Twitterからの_1546739058486.webm https://www.youtube.com/watch?v=DesYZUrWl_M

2020年03月12日1453:記録_蓮舫議員の森まさこ法務大臣批判資料の提示(東日本大震災発生時の福島地検いわき支部の対応) - YouTube https://www.youtube.com/watch?v=YkJl15lkRgU

2020年03月12日1453:記録_蓮舫議員の森まさこ法務大臣批判資料の提示(東日本大震災発生時の福島地検いわき支部の対応) https://www.youtube.com/watch?v=YkJl15lkRgU

2020年03月13日1301:記録_「弁解をとらない検事は無能な(または考え違いをしている)検事」:モトケンこと矢部善朗弁護士(京都弁護士会 https://www.youtube.com/watch?v=Kn-MQwcOAS8

2020年03月13日1310:記録_深澤諭史弁護士のTwitterタイムライン:3月13日から3月11日 https://www.youtube.com/watch?v=bycmskmajKk

2020年03月14日0923:記録_深澤諭史弁護士のTwitter14日から3月11日 https://www.youtube.com/watch?v=8M_INiqe64k

2020年03月14日0931:記録_「大津 控訴」のTwitter検索 https://www.youtube.com/watch?v=HmVgG_-Ba9Q

2020年05月09日11時50分08秒の記録_SublimeTextでTwitterに投稿 https://www.youtube.com/watch?v=EDa214b8YAY

 3月の12日,13日,14日と投稿がありますが,それ以前は2018年12月23日となっていました。

 間に,「モトケン(@motoken_tw)さん   Twitterからの_1546739058486.webm」という書式の異なるものがありますが,確認すると2019年1月5日の投稿でした。ファイル形式も違っているようです。

 このsimplescreenrecorderでは,「simplescreenrecorder-2020-05-09_10.46.22.mp4」という書式で動画ファイルが作られます。

 Kazamで使っていたものに少し手を加えたのですが,次のようにファイル名を変更するスプリクトを使いました。正確には別名でのコピーを作成するもので,コピーが成功した後に元のファイルを削除するようにしています。

 #!/bin/bash

name=$1
echo "ファイル名を入力:"
read rename
export bash_data=$rename
rename=`h-bash-export-data-sanitize.rb`
newname=`echo $name | sed "s/\([0-9]\{4\}\)-\([0-9]\{2\}\)-\([0-9]\{2\}\)[ _]\([0-9]\{2\}\).\([0-9]\{2\}\).\([0-9]\{2\}\)\.mp4/\1年\2月\3日\4時\5分\6秒の記録_${rename}\.mp4/" \
 | sed "s/simplescreenrecorder-//"`

echo -e "${name}\nを\n${newname}"

echo "に変更しますか? y or n."

read answer

case $answer in
    y)
        echo -e "tyeped yes.\n"
                oldname=`echo $name`
                dir=`pwd`
                cp "${dir}/${oldname}" "${dir}/${newname}"
                if [ -e "${dir}/${newname}" ]; then
                        echo "ファイル名の変更に成功しました。"
                else
                        echo "失敗です。"
                fi

        ;;
    n)
        echo -e "tyeped no. キャンセルしました。\n"
        ;;
    *)
        echo -e "cannot understand $answer.\n"
        ;;
esac

 冒頭の半角の#がMarkdownの見出しとして処理されそうなので,半角のスペースを入れました。shebangの部分になります。ここにスクリプトで処理するプログラムのパスを指定しています。この場合はbashになります。

 YouTubeの動画は,次のようなワンライナーのコマンドでデータベースに記録しています。HTMLを読み込んだスクレイピングでタイトルとURLを取得し,実行する自作のスクリプトでは未登録のものをデータベースに追加登録するようにしています。

h-youtube-get-title-list.rb 'https://www.youtube.com/channel/UCsOOWxvk4fJaIXsgXVuz1yA/videos?view=0&shelf_id=0&sort=dd'|sed '/^$/d' > i && h-database-youtube-insert.rb i

 以前は,TwitterAPIのような制限のないブラウザのTwitter検索でもスクレイピングでツイートのURLの取得が出来たのですが,今はソースコードにテキストがないので,出来なくなっっています。出来たとしても更新前の数の少ないツイートしか取得できないと思います。

 YouTubeAPIもあったように思いますが,以前は情報も少なく使うことが出来ませんでした。同じGoogleのサービスであるBloggerの方はAPIを使えるようにしたので,API経由でタイトルやURLも取得できています。

 失敗した投稿を削除することもあり,一度データベースに登録するとデータの削除や連番の割当を変更する作業が出来てしまうので,次のように数を指定して記事を取得し,データベースに登録するようにしています。

cd;time ./api-blogger.py 33 > bl.txt; insert-blogger_hirono2014sk.rb bl.txt && htf ~/t

 「% dp -p |wc -l」という,これも自作スクリプトの実行結果で,データベースに56257件のデータがあると確認できます。「wc -l」はテキストの行数をカウントするもので,これは正規のコマンドになります。検索や置換などあらゆるテキスト処理が可能です。

 次は,かなり雑な正規表現になりますが,モトケンこと矢部善朗弁護士(京都弁護士会)と私のTwitterアカウントに紐付いた記事を探した結果になります。


[1833] % dp -p |grep motoken_tw |grep -E '.+hirono.+http:.+'
2017年10月02日10時20分の登録: REGEXP:”(@hirono_hideki|@kk_hirono|@s_hirono)”/モトケンこと矢部善朗弁護士(京都弁護士会)(@motoken_tw)のツイートの記録/2017年10月02日09時05分・62件 http://hirono2014sk.blogspot.com/2017/10/regexphironohidekikkhironoshironomotoke.html
2017年10月02日10時26分の登録: REGEXP:”@motoken_tw”/非常上告-最高検察庁御中_ツイッター(@s_hirono)のツイートの記録/2017年10月02日10時26分・24件 http://hirono2014sk.blogspot.com/2017/10/regexpmotokentw-shirono20171002102624.html
2017年10月02日10時34分の登録: REGEXP:”@motoken_tw”/奉納\さらば弁護士鉄道・泥棒神社の物語(@hirono_hideki)のツイートの記録(2012年まで/2017年10月02日10時31分・131件) http://hirono2014sk.blogspot.com/2017/10/regexpmotokentwhironohideki2010-05-21.html
2017年10月02日10時35分の登録: REGEXP:”@motoken_tw”/奉納\さらば弁護士鉄道・泥棒神社の物語(@hirono_hideki)のツイートの記録(2013年以降/2017年10月02日10時34分・116件) http://hirono2014sk.blogspot.com/2017/10/regexpmotokentwhironohideki201320171002.html
2017年10月27日21時12分の登録: REGEXP:”@hirono_hideki”/モトケン(@motoken_tw)の検索(2010-10-25〜2015-12-20/2017年10月27日21時12分の記録54件) http://hirono2014sk.blogspot.com/2017/10/regexphironohidekimotokentw2010-10.html
2017年10月27日21時13分の登録: REGEXP:”@s_hirono”/モトケン(@motoken_tw)の検索(2012-03-06〜2015-07-24/2017年10月27日21時13分の記録11件) http://hirono2014sk.blogspot.com/2017/10/regexpshironomotokentw2012-03-062015-07.html
2017年12月16日07時14分の登録: %@motoken_tw モトケン%あなたの抱える事実には関心がないから。だから議論のテーマにしてないでしょ。RT @hirono_hideki: 他人の抱える事実無視して、畳みかけてますよね。明らかに。RT http://hirono2014sk.blogspot.com/2017/12/motokentwrt-hironohideki-rt.html
2018年04月21日16時28分の登録: REGEXP:”@hirono_hideki”/モトケン(@motoken_tw)の検索(2010-10-25〜2015-12-20/2018年04月21日16時27分の記録54件) http://hirono2014sk.blogspot.com/2018/04/regexphironohidekimotokentw2010-10.html
2018年04月21日16時28分の登録: REGEXP:”@s_hirono”/モトケン(@motoken_tw)の検索(2012-03-06〜2015-07-24/2018年04月21日16時28分の記録11件) http://hirono2014sk.blogspot.com/2018/04/regexpshironomotokentw2012-03-062015-07.html
2018年07月13日10時07分の登録: REGEXP:”(@hirono_hideki|@kk_hirono|@s_hirono)”/モトケン(@motoken_tw)の検索(2010-10-25〜2015-12-20/2018年07月13日10時06分の記録62件) http://hirono2014sk.blogspot.com/2018/07/regexphironohidekikkhironoshironomotoke.html
2018年11月27日14時43分の登録: REGEXP:”hirono”/モトケン(@motoken_tw)の検索(2010-08-23〜2018-11-25/2018年11月27日14時43分の記録69件) http://hirono2014sk.blogspot.com/2018/11/regexphironomotokentw2010-08-232018-11.html
2018年12月23日11時44分の登録: REGEXP:”hirono”/モトケン(@motoken_tw)の検索(2010-08-23〜2018-11-25/2018年12月23日11時44分の記録69件) http://hirono2014sk.blogspot.com/2018/12/regexphironomotokentw2010-08-232018-11.html
2019年05月10日12時07分の登録: REGEXP:”hirono”/モトケン(@motoken_tw)の検索(2010-08-23〜2018-11-25/2019年05月10日12時07分の記録69件) http://hirono2014sk.blogspot.com/2019/05/regexphironomotokentw2010-08-232018-11.html
2019年05月17日22時53分の登録: モトケン(@motoken_tw)/「hirono_hideki」の検索結果 - Twilog:2019年05月17日22時53分 http://hirono2014sk.blogspot.com/2019/05/motokentwhironohideki-twilog201905172253.html
2019年05月18日12時08分の登録: twitterAPI_search ”from:motoken_tw to:s_hirono” 2019年05月18日12時07分:3件の取得 http://hirono2014sk.blogspot.com/2019/05/twitterapisearchfrommotokentwtoshirono2.html
2019年05月18日12時11分の登録: twitterAPI_search ”from:motoken_tw @hirono_hideki” 2019年05月18日12時11分:17件の取得 http://hirono2014sk.blogspot.com/2019/05/twitterapisearchfrommotokentwhironohide.html
2019年05月18日12時14分の登録: twitterAPI_search ”from:motoken_tw @s_hirono” 2019年05月18日12時14分:10件の取得 http://hirono2014sk.blogspot.com/2019/05/twitterapisearchfrommotokentwshirono201.html
2019年05月18日18時08分の登録: from:motoken_tw @hirono_hideki - Twitter検索 2019年05月18日18時07分:38件の取得 http://hirono2014sk.blogspot.com/2019/05/frommotokentwhironohideki.html
2019年07月11日09時05分の登録: REGEXP:”(@hirono_hideki|@kk_hirono|@s_hirono)”/モトケン(@motoken_tw)の検索(2010-10-25〜2015-12-20/2019年07月11日09時05分の記録62件) http://hirono2014sk.blogspot.com/2019/07/regexphironohidekikkhironoshironomotoke.html
2019年08月22日11時19分の登録: REGEXP:”(@hirono_hideki|@kk_hirono|@s_hirono)”/モトケン(@motoken_tw)の検索(2010-10-25〜2015-12-20/2019年08月22日11時19分の記録62件) http://hirono2014sk.blogspot.com/2019/08/regexphironohidekikkhironoshironomotoke.html
2019年12月05日23時17分の登録: REGEXP:”(@hirono_hideki|@kk_hirono|@s_hirono)”/モトケン(@motoken_tw)の検索(2010-10-25〜2015-12-20/2019年12月05日23時17分の記録62件) http://hirono2014sk.blogspot.com/2019/12/regexphironohidekikkhironoshironomotoke.html