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

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

関連記事

富士通 FMV ESPRIMO FH77/UD FMVF77UDB 分解 メモリ増設 HDD換装

富士通 FMV ESPRIMO FH77/UD FMVF77UDB が入荷しました。 この機種に関する分解情報がなかったので、分解してみました。 メモリ増設、HDD換装、BDドライブ換装をお考えの方は …

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

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

Dokuwikiをロリポップ!にインストールしてみた。

はじめに 世の中、2chからのWiki誘導が流行っているようなので、Wikiサイトについて調べてみました。 レンタルウィキサービスもたくさんあるようなのですが、アフィリエイトに関して制約があるらしい。 …

9.5mm厚のブルーレイドライブのベゼルを取る方法

はじめに 9.5mm厚のブルーレイドライブのベゼルを取る機会が有りましたので、写真付きで説明したいと思います。

Windows10 に DirextX 9.0c をインストールする方法

Dell xps studio 9100 を Windows10 にアップグレードしたところ、FF15のベンチマークが動かなかったので、その対処法を残しておきます。

ws-pc-side-top

ws-pc-side-btm