Page-level ads

python と ヤフオクAPI を使って、商品のサムネイルを1枚の画像に合成し、商品説明に表示する方法 – つまさぽ(妻のサポート)

PC修理販売 技術

python と ヤフオクAPI を使って、商品のサムネイルを1枚の画像に合成し、商品説明に表示する方法

投稿日:2017年1月17日 更新日:

ws-pc-top

ヤフオクの商品説明に他の出品商品の画像を表示し、他の商品へ誘導しようと思いました。

しかし、imgタグを使って商品説明に表示できる画像の枚数には制限があります。

そこでpythonとヤフオクAPIを使い、複数の商品サムネイル画像を合成し1枚の画像にして商品説明に表示することにしました。

ws-pc-more

環境

  • MacOS Sierra
  • python3.5.2
  • (Heroku上でも動作することを確認しています)

ソース

config.ini

create-yauc-image.py

使い方

ソースの保存

上記2つのソースをそれぞれ任意の同一フォルダに保存してください。

ファイル名は下記のとおりとします。

  • config.ini
  • create-yauc-image.py

config.ini の修正

appid

Yahoo! JAPAN WebサービスのアプリケーションIDを設定します。

アプリケーションIDの取得方法は デベロッパーネットワークトップ > ご利用ガイド を参照してください。

font

フォントファイルへのパスを指定します。

OSにはフォントファイルが保存されていますので、お好みのフォントファイルをコピーしてconfig.iniと同じフォルダに保存してください。

ファイル名に日本語(2byte文字)が含まれている場合は、半角英数字(1byte文字)に変名しておいたほうがよいかもしれません。

Mac のフォントファイル格納場所

ここにフォントファイルがあります。

Windows のフォントファイル格納場所

フォントのインストール(Windows 10/8/7/Vista)を参考にしてください。

ftp_host

FTPサーバーへアップロードする場合は、FTPサーバー名を設定します。

ftp_user

FTPサーバーへアップロードする場合は、FTPサーバーのユーザー名を設定します。

ftp_pass

FTPサーバーへアップロードする場合は、FTPサーバーのパスワードを設定します。

ftp_path

FTPサーバーへアップロードする場合は、FTPサーバーのアップロード先ディレクトリを設定します。

create-yauc-image.py の修正

の部分をお好みに修正します。

ヤフオクAPIにリクエストし、そのレスポンスをJSON形式で取得します。

検索条件は下記の通りに指定します。

デベロッパーネットワークトップ > オークション > 検索 も参考にしてください。

  • 第一引数:検索キーワード
  • 第二引数:カテゴリID
  • 第三引数:出品者のヤフオクID
  • 第四引数:検索範囲
    • 0x2 :「タイトル+ストア用検索キーワード」で検索
    • 0x4 :「タイトル+本文」で検索
    • 0x8 :「タイトルのみ」で検索

生成した画像を保存したい場合 img.save()

上記の例では、do_json で 4列x2行の合成画像を生成します。

これで img1.jpg というファイル名で保存されます。

生成した画像を表示したい場合 img.show()

これで 生成した画像が表示されます。

FTPサーバーにアップロードする場合

FTPへアップロードするための情報を保存する辞書オブジェクトを定義します。

辞書オブジェクトは、{ “画像ファイル名” : 画像オブジェクト } となるように保存します。

FTPサーバーにアップロードします。

実行

ターミナルから create-yauc-image.py を実行してください。

おわりに

私は、Herokuにデプロイして、1時間毎に実行するようにしています。そうすることで、常に最新の情報を商品説明に表示することができます。

yaucapi_searchをカスタマイズすることで、検索条件を増やすことができます。お試しいただけたらと思います。

参考

下記のサイトを参考にさせていただきました。ありがとうございます。

ws-pc-btm

ws-pc-btm-right

-PC修理販売, 技術
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

東芝 dynabook のリカバリでERROR:08-0E89-0000 が発生

はじめに こんにちは。たろうです。 先日、東芝 dynabook T451/57DR のリカバリを試みたところ、以下の様なエラーが発生しました。 試行錯誤しましたので、備忘録として残しておきます。

2017年 パソコン転売・修理販売 収支公開

こちらの記事(2016年 パソコン転売・修理販売 収支公開)で2016年の収支を公開しましたので、2017年の収支も公開しようと思います。 売上高、売上原価、仕入高、在庫、利益となかなか生々しいデータ …

まだ間に合う!? MacBook Pro Retina 13 Late2013 コーティング剥がれ無償交換プログラム

もう年末ですね。 MacBook Pro Retina 13 inch のコーティングハゲがひどく、Appleにディスプレイを交換してもらいました。 タダで! せっかくのRetinaディスプレイなのに …

Pythonライブラリのライセンス情報を一括出力する方法

仕事で使っているOSSのライセンスに問題がないか確認する必要がありました。 Pythonライブラリもその対象だったのですが、数が多くて「pip list」からの「pip show [package名] …

GTX680 の ROM を書き換えて、起動時のキーコンビネーションで呼び出す機能の画面を表示できるようにした。Mac Pro 2009

先日、念願のMac Proを入手しました。 カスタマイズ性が高く、最新OS X 10.12 MacOS Sierra をインストールできるMac Pro 2009、2010、2012 はまさに今が買い …

ws-pc-side-top

ws-pc-side-btm