開発してみたシステム
Teraの小型バーコードスキャナーを購入したので、このスキャナーを利用したシステムの開発したいと思います。
具体的には、日本の商品コードであるJANコードをAmazonの管理コードであるASINコードに自動で変換するシステムを作ってみます。
普段私たちが購入した商品についているバーコードは、JANコードと呼ばれる日本国内の商品管理コードです。
一方で、Amazonも商品の管理コードを独自に持っており、これをASINコードと呼びます。
私は、Amazonのヘビーユーザーなので、JANコードをASINコードに変換してくれるシステムを作ってみました。(興味本位です(笑))
下記はデモ動画です。
開発の流れは、下のような感じです!
- バーコードをスキャン
- Pythonで読み込み
- Seleniumでブラウザ検索(変換サイトを利用してJANコードをASINコードに変換)
バーコードをスキャン
バーコードのスキャンには、Teraの小型バーコードスキャナーを利用しています。
こちらの製品については、別の記事で紹介しているので、よければご覧ください!

Pythonで読み込み
Teraのバーコードスキャナーは、USB BluetoothでPCと通信することができます。
また、入力はキーボードと同じ扱いになるので、Pythonの標準入力を使用してバーコードの情報を読み込むことができます。
以下、Pythonのコードです。
# バーコード読み込み(標準入力)
JAN_code = input().strip()
これでJAN_codeにバーコード情報を格納できます。
ただし、通常の設定では、Enterキーを押さないと標準入力が閉じません。
Teraの小型バーコードスキャナーは、サフィックスの設定でEnterキーを追加できます。
設定方法は、別記事で紹介しているので、そちらをご覧ください。
Selenium ブラウザで検索
Pythonでは、クローリング(プログラムによるブラウザ検索)用のライブラリとして、Sleniumライブラリが使用できます。
今回は、JANコードとASINコードの変換をしてくれる下記サイトをクローリングすることによりJANコードとASINコードを自動的に変換しています。
詳しいクローリングの仕方は、下記サイトで解説されているので、興味のある方は参照してみてください。

Python のコードは下記のとおりです。
# seleniumブラウザ検索用
from selenium import webdriver
# バーコード読み込み(標準入力)
JAN_code = input().strip()
# Chromeを操作
driver = webdriver.Chrome(executable_path="C:\\Program Files\\chromedriver_win32\\chromedriver.exe")
# JAN>ASINコード変換サイトを検索
driver.get('http://creepfablic.site/tools/')
search_code = driver.find_element_by_name("CODE")
# JANコードを入力
search_code.send_keys(JAN_code)
# 変換ボタンをクリック
convert_btn = driver.find_element_by_class_name("btn")
convert_btn.click()
#ASINコード読み取り
ASIN_code = driver.find_elements_by_class_name("centered")
ASIN_code = ASIN_code[1].text
ss = ASIN_code.find(':') + 1
ee = ASIN_code.find('Amazon商品情報') - 2 + 1
ASIN_code = ASIN_code[ss:ee]
# ウィンドウを閉じる
driver.quit()
# ASINコードを出力
print(ASIN_code)
seleniumの注意点
Seleniumを起動させるには、適切なwebドライバーが必要です。
Google chromeをお使いの方は、下記サイトからwebドライバーをダウンロードし、exeファイルまでのパスを記載してください。
パスはプログラムの黄色下線箇所です。
# Chromeを操作
driver = webdriver.Chrome(executable_path="C:\\Program Files\\chromedriver_win32\\chromedriver.exe")
ドライバーはchromeのバージョンと対応したものでないと動かなくなるため、注意してください。
chromeのバージョンは、ブラウザで
ヘルプ>Google chromeについて
と進むことで確認できます。

まとめ
いかがだったでしょうか。PythonとTeraのバーコードスキャナーを使ってJANコードとASINコードを自動で変換してくれるシステムを作ってみました。
何かの業務効率化になれば、幸いです。

コメント