Own products

  • 新規事業のアイディア創造機

Introduce

2014
12/22

日本が誇るブランドお米を網羅した「オコメノハナシ」作りました!

この記事の読了時間:約824

  • このエントリーをはてなブックマークに追加

唐突ですが皆さん、お米は好きですか?

コシヒカリという偉大な恒星を筆頭に、ななつぼしつや姫あきたこまちミルキークイーンなどなど、最近ではかなりのブランド米が発明~生産されています。

んで、つい先日。たまたま近所のスーパーで「ななつぼし」を買って炊いて食べたんですが、いつものお米との違いに驚愕したんです。

お米コシヒカリお米とはこうだ!という固定観念が崩れ、こんなにも食感に違いがあるのかと、湧いてくる好奇心。

自称「米をおかずに米を食う」というワタクシは、そうして「美味しいお米」を探す旅に出たのでした。。。

旅から戻り、それぞれのブランド米特徴を書き連ね、販売されてるお米にはアフィリエイトバナーを貼って、完成したウェブサービスこそ「オコメノハナシ」!

、、、アフィサイトかよ!!

というワケでw 今回は新作ウェブサービス「オコメノハナシ」のカンタンな機能説明と、制作に関するよもやま話なんかをご紹介♪

ブランドお米を網羅したサービス「オコメノハナシ」

「オコメノハナシ」とは

そーいや作ったコトの無かった、アフィリエイト中心のサービス。

とはいえただバナーを貼っつけまくっただけじゃ無く、マジで調べまくった「ブランド米のそれぞれの特徴」をテキスト化+味覚チャート化して、楽天で売ってるヤツだけにはオマケでアフィバナーを貼った、そんな感じです。

いくつかお米を食べ比べたりしたことがある方は分かるかもですが、とにかくお米って、それぞれのブランドで味や食感に違いがあるんです。

いつも何も考えず惰性でコシヒカリ買ってた自分としては、それが結構びっくりで。

とはいえ調べてみると、分かりやすく一覧化されたブランド米の辞典的なサイトが無くて、あってもほんの少しのブランド米しか掲載されていなかったり。

なので、調べついでにテキストにまとめつつ、未経験のアフィサイトとしてリリースしてみようと思い立った訳です。

サイトを見て頂けると分かるかと思いますが、モノ自体は非常にシンプルで、特徴概要とブランド名、特徴詳細と味覚チャート、アフィバナーが貼ってたり無かったり、それがダダーっと1ページに羅列されてます。

今んとこDB使ってないし、基本はテキスト主体なのでそんな重くもないし、一気に見れたほうが良いかと思ってページング機能は未導入。

ひたすらスクロールして読みまくって、気になるお米があったらバナー踏んで買ってくれるといいよ!

「オコメノハナシ」のいろいろな仕組みについて

前述のとおりデータベースは使ってないんですが、代わりに下記のようにテキストファイルで各ブランド米の情報(名称・特徴概要・特徴詳細・味覚チャート用の値)を保持しています。

あいちのかおり
大粒でふっくら、さっぱりした食感
「香るような芳醇なおいしい米」という由来をもつ、愛知県産の品種。大粒でふっくら、さっぱりした食感が特徴。味、つや、香りのバランスが良く、冷めてもおいしさを保つ。
4,3,4,2,2

あかね空
コシヒカリ譲りの良食味
コシヒカリから受け継ぎ良好の食味。「コシヒカリ」と「月の光」の子で、粒の大きさは中程度。外観品質はコシヒカリから受け継ぎ良好。
3,4,3,4,3

あきたこまち
しっかりした粒感とモチモチとした食感で、やや硬めに炊き上がる
秋田県に生まれたという小野小町にちなんで名付けられた、秋田県オリジナルの品種を目指して開発されたお米。コシヒカリの血を受け継いでおり、味のバランスが良く、炊き上がりの艶が良い。しっかりした粒感とモチモチとした食感で、やや硬めに炊き上がるため、おにぎりや丼などにも最適。コシヒカリやひとめぼれ等と並んで日本を代表するお米。
4,4,3,3,4

上記をfile_get_contentsで読み込み→implode関数を使って★ごとに配列に分割→foreachで回して記事表示、という流れです。

アフィバナーについては、楽天の一択なんですが、ここで困ったコトが。。。

最初はフツーに上記foreach内でrakutenSDK使って、ひとつずつ「楽天で販売してるか→してればバナー画像とアフィURLを取得して表示」としたかったんですが、これだと楽天側の「1秒に1リクエスト」というAPI利用上限を超えちゃう。

とはいえ50個以上もあるブランド米の、ひとつひとつを調べるのは面倒すぎる。

なので考えた結果、一旦別のPHPで「1秒に1回、全ブランド米の販売有無を調べて、有ればバナー画像とアフィURLを取得して別テキストに保存」として、生成した別テキストを記事用foreach内で使えるようにしました。

set_time_limit(300);//数が多くてPHP側のタイムアウトにひっかかるので、タイムアウト上限を大きく設定
require_once(__DIR__.'/../sdk/autoload.php');
$client = new RakutenRws_Client();

// アプリID (デベロッパーID)
$client->setApplicationId('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
// アフィリエイトID
$client->setAffiliateId('xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx');

$okome_txt = file_get_contents(__DIR__.'/../okome.txt');//記事用テキストファイル読み込み
$data_base_array = explode('★', $okome_txt);//★で配列化
$title_array = array();
foreach ($data_base_array as $k => $v) {
	$data_the_array = explode("\n", trim($v));//記事用配列を更に配列化
	$title_array[$k]['title'] = trim($data_the_array[0]);//そこから記事タイトル(=銘柄名)を配列化
}

$return = array();
foreach($title_array as $k => $v){
	sleep(1);//処理を1秒待つ
	$response = $client->execute('IchibaItemSearch', array('keyword' => $v['title'], 'hits' => 4, 'genreId' => 110472, 'sort' => '-itemPrice'));
	if($response['hits'] > 0){
		$return[$v['title']] = array();
		foreach($response as $item){
			$return[$v['title']]['url'][] = $item['affiliateUrl'];//各銘柄に紐づくアフィURL
			$return[$v['title']]['img'][] = $item['mediumImageUrls'][0]['imageUrl'];//同バナー画像URL
		}
	}
}

$put_data = serialize($return);//配列をテキスト化
file_put_contents(__DIR__.'/../affiliate.txt', $put_data, LOCK_EX);//ファイルに書き出し

こうすることでサービス側では、楽天APIの上限が影響することもなく、SDK呼び出しの処理を行う必要も無くなったので、非常に軽くなったと思います。

また、味覚チャートは「Google chart API」を使っています。

<img src="
https://chart.googleapis.com/chart?
cht=r//チャートの形(r=レーダーチャート)
&chs=180x160//生成する画像のサイズ(横x縦)
&chxt=x,y//グラフの軸の設定
&chd=t:80,60,80,40,40,80//各チャートの値(1個目~2→3→4→5→1個目、最大を100として)
&chm=B,58ab11aa,0,1.0,5.0//グラフに囲われた中の色
&chco=58ab11//グラフの線の色
&chxl=0:|%E9%A3%9F%E5%91%B3%7C%E5%A4%96%E8%A6%B3%7C%E9%A6%99%E3%82%8A%7C%E7%B2%98%E3%82%8A%7C%E7%A1%AC%E3%81%95%7C1:||1|2|3|4|5//各チャートの項目名
" alt="味覚チャート" />

これは前述の記事用テキストに記載してある「4,2,4,3,3」みたいな数字を抜き出して、5=100となるようにそれぞれ20倍した数を当てはめてます。

今後について

もしなかなか良い感じにアクセス増えたり注目されるようなら、今後はコレに「オススメ炊飯器」や「美味しいお米の研ぎ方炊き方」みたいなコーナーも作って、お米のポータルサイト的にできたら面白そうだなーと思ってます。

最終的にはEC付けて農家さんからの直販とか、もしくはお米屋さんにバイアウトなんかも夢ありますねー!

オコメノハナシ

実はしれっとスマホ対応済み。

みんな、米食えよ!

  • このエントリーをはてなブックマークに追加

コメントを投稿する

お名前

ご連絡先メールアドレス※非公開

コメント

CAPTCHA


  • このブログのRSSを購読する
  • このブログをtwitterでつぶやく
  • このブログをFacebookで共有する
  • このブログをはてなブックマークで共有する

Favorite feeds

    Contact

    お名前※必須

    ご連絡先メールアドレス

    お問い合わせ内容※必須

    CAPTCHA

    captcha

    Blog parts

    Affiliate