2009-01-02

JAN/EANバーコードからそれが何かを判別する方法

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
SOBARCOでは、携帯の専用アプリを利用してカメラでJAN/EANバーコードを撮り、それから撮影したものがなんであるかを判別しています。
(別にカメラで撮らなくてもバーコードを入力する場所は実際にあるのですけどね)

判別は基本的に、amazonのWEBサービスを利用して行っています。
本とか限定でバーコードで検索する方法は、比較的簡単にわかったのですが本とかCDとかカテゴリを指定せずにカテゴリ横断でバーコードを利用した検索する方法がなかなか見つからなかったのですが、
http://postcard.blog.ocn.ne.jp/itazura/2006/10/cddvd_c5e4.htmlにやり方が書いてありました。

要約するとItemSearchを使うときにSearchIndexをBlendedにしてKeywordsにバーコードを与えてやれば、カテゴリを問わず検索ができるということです。

これの欠点としては、実際には単に全文検索をやっているような気がするので、別にバーコードでないものも普通に検索できます。
なのでEANでないISBNとか入れても検索はできます。
バーコードのみとかのガードをしたいとなればちゃんと以下を参考にチェックデジットのチェックをした方がよいと思います。
http://www.dsri.jp/jan/check_digit.htm#img_01

amazonさんでも残念ながらすべてバーコードが判別できるわけではありません。
そこでSOBARCOではamazonで検索しても分からなかった場合は、
はてなさんのはてなキーワードにJAN/EAN一覧があるのでそちらを利用しています。
http://d.hatena.ne.jp/ean/4909411030681
のように
http://d.hatena.ne.jp/ean/バーコード
のページを取得して、その内容をパースして調べています。
バーコードが登録されていなければ、レスポンスはリダイレクトされるのでレスポンスコードを判別することで登録されているかどうかはわかります。

これでも検索できないものは当然すごくあります。
普通にコカコーラが判別できなかったのが、ちょっと予想外だったりしました。
コメントを投稿