bitFlyer口座開設(ビットコイン1,000円もらえる)URL
動画をガンガン保存する。だから溜まる。
最近保存した動画の名前を分析して、よく出てくる単語を30コくらいピックアップして、自分がいつも最初に入るサイト(自前のポータル画面)に表示できたら面白そうと思った。
まずは動画の名前を分析するところを実装する。mecabで名刺(noun)を分析すればよかろう。
このサイトのコード使わせてもらう。
の前に、python3からmecabを使えるようにしなきゃ。
$ pip3 install mecab-python3
だと失敗する。権限エラー。
--user オプションをつけたらうまくインストールできた。
$ pip3 install mecab-python3 --user
動作テスト。
一見よさげだが
ソースそのまま写して
$ vim my_count_noun.py
引数にテキストファイルを食わせても
$ python3 my_count_nown.py ytdl_news_all.txt
こんなエラーになる。
error message: [ifs] no such file or directory: /usr/local/etc/mecabrc
mecabrcが無いのが原因ぽい。
こんなときは、コンソール上で(ソースにあるのと)同じことをしてみる。
$ python3
>>> import MeCab
やっぱmecabrcが原因くさい。
こういうときは、エラーメッセージそのままでググるのが鉄則。
このへんが参考になりそう。
パスを通せば治るらしいが、pip3でインストールしたmecabの場合はどこにパスを通せばいいのか分からない。
とても参考になりそうな記事。
$ python3 -V
$ python3
>>> import sys
>>> sys.executable
>>> sys.version
$ python3
>>> import sys
>>> sys.path
>>> sys.path.append('みつかったpath')
なるほど。python3の実行PATHはこんな感じで探せばいいのか。
みつけた。
自分の環境では
/home/fedora/.local/lib/python3.7/site-packages
ここにmecabがあるっぽい
>>> sys.path.append('/home/fedora/.local/lib/python3.7/site-packages')
して続行。
しかしエラー。
/home/fedora/.local/lib/python3.7/site-packages/MeCab/__init__.py
の124行目に何かありそう?
いや、辞書の場所を探そう。ここに見つけた。
$ ls -sahl /usr/lib64/mecab/dic/
$ python3
>>> import sys
>>> sys.path.append('/usr/lib64/mecab/dic/')
>>> import MeCab
しかしエラー。どうも辞書を見に行く場所が違ってるっぽい。やっぱ
/home/fedora/.local/lib/python3.7/site-packages/MeCab/__init__.py
を探る必要があるのか。
どうもmecabrcが原因ぽく思える。ググって調べたら/etc/mecabrcがあるらしいことがわかった。
$ ls /etc/mecabrc
あるね。
ということは
$ sudo cp /etc/mecabrc /usr/local/etc/
からの
$ python3
>>> import MeCab
おっしゃエラー消えた!
あらためてスクリプトを動かす。
$ python3 my_count_noun.py ytdl_news_all.txt
動いた。素晴らしい。
ここまでくれば、最近保存した動画名に含まれる単語分析なんて、すぐできる。
$ ls -rt | egrep 'mp4$|mkv$|webm$' | tee -a test_noun02.txt
$ python3 my_count_noun.py test_noun02.txt
mkvが一番多いのか。面白い。
あとでワンライナーでできるよう改良する。Linux最高すぎ。