2016年3月16日水曜日

【更新】elasticsearchのkuromojiプラグインがエラーでインストール出来ない時の話

現時点で最新のElasticsearch 2.2で日本語解析プラグインのkuromojiを入れようとしたら
Could not find plugin descriptor 'plugin-descriptor.properties' in plugin zip
とか言われて、インストール出来なかった。

ググッて最初に出てきたGitHubページを参考に、コマンドの行だけ読んで
bin/plugin install elasticsearch/elasticsearch-analysis-kuromoji/2.7.0
と何も考えずに実行すると、上記エラーになる。
ページの上部に書いてある通り、
IMPORTANT: this project now moved to elasticsearch repository.
elasticsearchのリポジトリに移動しました。とあるので、
公式らしきGitHubページに書いてあるのだから…と素直に plugin-descriptor.properties とかを調べだすとドツボにはまる。

Elasticsearch公式のページにあるように
bin/plugin install analysis-kuromoji
とすればインストールできる。

公式GitHubページの方に早く反映いただけませんかねぇ?
→大変失礼致しました、書いてありました…。Elasticsearchの中の方からご連絡頂きました。


…と、ここまで書いて再度確認したら、上記操作でインストールされるのはkuromoji 2.2だった。
Elasticsearchとのバージョンの違いだろうか?
(kuromojiのGitHubページには、 kuromoji 2.2はElasticsearch 1.2用だと書かれているので、納得はしていない...)

2016年3月3日木曜日

InstagramからAPIを使わずにスクレイピングでタグ検索をする

インスタグラムで画像検索してディープラーニングにでも使うか〜
と思ってたらAPIが2015年12月の改訂により全然使えないものになっていた。

https://www.instagram.com/developer/

プライバシーポリシーみたいなのを登録しないと、自分自身と招待した10人位のユーザの情報しか取れない。
こんなんならFlickrのほうがまだマシだ。

https://www.flickr.com/services/api/

とはいえ、Instagramのほうがソーシャル感が強いのは事実。
何とかしようということで、スクレイピングするスクリプトを書いた。

https://github.com/syamoji/getInstagram

インスタグラムのWebページを観察すると、POSTで何かしら投げたら次のページが読み込めることがわかった。

スクリプト上部で検索タグを決めて、取得ページ数を設定したら情報が取得できる。
サーバの負荷にならないように、1ページ取得すると5秒待つ仕様にしてある。
デフォルトではCSVファイルに保存している。

gemとして公開までしてみたいなぁ