HUGOの記事にamazonアソシエイトリンクを貼る際に、取得したリンクを加工するのが面倒だったので、pythonで書きました
tkinterでGUIにしています
なんてことはない、中身は文字列を切って貼ってをしているだけです
コマンドで起動するのは面倒なので、バッチファイルで起動するようにしています
作ろうとしているリンク
こんな見た目
古風だけど自分はこれが好き
実際のリンクはこれ↓(リンク切れていたらスミマセン)
使い方
- 「Amazonアソシエイトツールバー」の「テキストと画像」タブを開いて、生成されたリンクをコピー(下画像の「これをコピー」部分)
- pythonプログラムを起動するとこれが現れる↓
- コピーしたリンクをそのまま貼り付ける
- エンターキーを押すと、クリップボードにコピーされる
記事内に貼り付ける
コピーされた文字列例↓(表示の都合上、先頭の{は全角になっていますが、実際は半角{です)
{{< 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()
参考
エンターキー入力を拾う方法
以上(^^)