HUGOの記事にamazonアソシエイトリンクを貼る際に、取得したリンクを加工するのが面倒だったので、pythonで書きました

tkinterでGUIにしています

なんてことはない、中身は文字列を切って貼ってをしているだけです

コマンドで起動するのは面倒なので、バッチファイルで起動するようにしています

作ろうとしているリンク

こんな見た目

古風だけど自分はこれが好き

実際のリンクはこれ↓(リンク切れていたらスミマセン)

使い方

  1. 「Amazonアソシエイトツールバー」の「テキストと画像」タブを開いて、生成されたリンクをコピー(下画像の「これをコピー」部分)

  1. pythonプログラムを起動するとこれが現れる↓

  1. コピーしたリンクをそのまま貼り付ける

  1. エンターキーを押すと、クリップボードにコピーされる

  1. 記事内に貼り付ける

    コピーされた文字列例↓(表示の都合上、先頭の{は全角になっていますが、実際は半角{です)

    {{< Amazon src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=アソシエイトID&language=ja_JP&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B088PGN64G&linkId=2ef7d1928670c9537cf1976fdc5a5b37" >}}

    クリアボタンを押すと消える

    2回目以降は「クリップボードにコピーしました!」は消えないので注意

プログラム

クリップボードを扱うライブラリー(pyclip)はインストールが必要です

表示の都合上、一部の{は全角になっていますが、実際は半角{です。使用の際は半角{に直してお使いください

# -*- coding: utf-8 -*-
"""
アマゾンの商品リンクをhugoに貼る形に変換する
エンターで変換
クリップボードにコピーされる
"""


import tkinter as tk
import pyclip

root = tk.Tk()
root.geometry('500x90')
root.title('Amazon affiリンク変換(hugo用)')

def func(event):
    global label1
    text1 = entry1.get() # amazon アソシエイトツールバー テキストと画像のリンク

    target = 'src="'    # src="より後ろを抽出
    idx = text1.find(target)
    r = text1[idx + len(target):]
    r = r[:-10] # 後ろの ></iframe> を削除
    r = 'src="' + str(r) # 整形
    r = '{{< Amazon ' + r + ' >}}' # 整形

    pyclip.copy(r) # copy data to the clipboard

    label1 = tk.Label(text='クリップボードにコピーしました!')
    label1.place(x=10,y=60)

def buttonclk():
    global label1
    entry1.delete(0,tk.END)
    label1.destroy()

entry1 = tk.Entry(width = 80)
entry1.place(x = 10 , y = 40)

entry1.bind('<Return>', func)

button = tk.Button(root,text='クリア',command=buttonclk)
button.place(x=10,y=10)


root.mainloop()

参考

エンターキー入力を拾う方法

以上(^^)