かれ4

かれこれ4個目のブログ

マナカナを集める

機械学習をやっていると、どうしても、マナカナの画像を集めないといけない時があります。

マナカナの画像を効率的に集めるために、BingのSearch APIを使って画像のURLを取得し、
ダウンロードするようにします。

Bing APIAPIキーを取得する

Bing Search API | Microsoft Azure Marketplace


月間5000トランザクションであれば、無料で使えるので、これをつかいます。
f:id:tottokug:20150716083912p:plain

5000トランザクションもあれば十分だと思うので、右側にある、0円のものにサインアップします。

f:id:tottokug:20150716084053p:plain

次の画面で、「前述の公開元のオファー条件とプライバシーポリシーを読み、内容に同意しました。」
のチェックを入れて、サインアップを押せばサインアップは完了です。
(microsoftのアカウントを持っている事が前提です。)

サインアップが完了したら、

サービス エクスプローラー | Microsoft Azure Marketplaceを開きます。

f:id:tottokug:20150716084417p:plain
ここで
「プライマリ アカウント キー 表示する」の”表示する”をクリックすると、APIのキーが表示されるので、それをとっておきます。

画像を収集する。

APIキーが手に入ったら、実際に画像を収集します。
画像の収集は下のシェルスクリプトで、行います。

$ cat image_download.sh
#!/bin/bash

# 検索ワード
SEARCHWORD="マナカナ"
# Bing API のAPIKey
APIKEY="*************************************************"

#===================================
#===================================
[ -d images ] || mkdir images
QUOTEDKEY=$(echo $APIKEY | nkf -wMQ| tr = %)
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"
QUERY=$(echo "'${SEARCHWORD}'"| nkf -wMQ | tr = %)
URL="https://${QUOTEDKEY}:${QUOTEDKEY}@api.datamarket.azure.com/Bing/Search/v1/Image?Query=$QUERY&Market=%27ja-JP%27&\$format=json"
for i in ` seq 1 15 10000 `
do
  curl --basic $URL'&$top=15&$skip='$i | jq  . | grep MediaUrl |grep -v bing |perl -pe "s/.*: \"(.*?)\".*/\1/g" |xargs -P 15 wget -T 5 -U "$UA"  -N --random-wait -P ./images
done
$ ./image_download.sh

これで、imagesというディレクトリの中にマナカナの画像が集まってきます。

f:id:tottokug:20150716090548p:plain

次は顔を切り出す
blog.tottokug.com