応募部門:ライフスタイル
作品名 :AMAZON_kindle書籍いつ買うの?v1.2
製作者 :勝 吉彦
作品概要:Kindle書籍の魅力にポイント増量キャンペーンがあります。
商品のポイント引き価格を明示し、購入時期の判断を手助けします。
V1.11からの変更点:
・安定動作のため情報切り出しに使用するタグからリンクタグを排除しました。
データ登録に商品詳細ページ、データ更新に商品検索ページを利用します。
・URLポストを2つ用意しました。
商品画像・タイトル・種別などをドロップ又はペーストすると、
「URLを開く」は商品詳細ページを表示します。
「データを追加」は商品情報を「一覧」に追加します。
・「データ追加」ボタンの動作は商品詳細ページに限定します。
・新刊検索の機能を追加しました。
・データ登録時に著者名の空白を詰めます。
登録済み著者名の空白詰めコマンドを「スクリプト」メニューに追加しました。
・商品詳細ページをもとに1商品ずつ「データ更新」するコマンドを
「スクリプト」メニューに追加しました。
カスタムAppの解説
本来の目的はAmazonの電子書籍Kindleを安く買うための価格監視ツールです。
Kindleはセールを良くするので、欲しい本を監視リストに入れておくと、価格が下がったり、ポイント還元の時を逃さず購入できるのです。
Kindleは価格が下がるのではなく、ポイント還元もあるのでややこしい。しかし、それも考慮して監視してくれます。
マニュアル
最新価格データを取得中
そして、Kindleの価格以外もチェックすることが出来るので例えば転売ヤーに買い占められて品薄の商品「HG ペーネロペー」を登録しておくと、定価以下になった時を狙って買うことが出来るのです。
ガンプラに限って言えば、予め再販出荷予定が公開されるので不要かもしれません。
使いようによっては転売ヤー向けのツールにもなりえます。
カスタムAppの設計
テーブル
テーブルはシンプル
スクリプト
この作品のスクリプトのメインはAmazonのHTMLを切り刻む所にあります。
ものすごく大変そうです。が、そこの解説は難しいので・・・・
それ以外の部分だと、URLをドラッグ・アンド・ドロップ(D&D)することで商品が追加できるUIになっています。これがすごく良く出来てる。
Webビューアの中で商品を検索して、スクロールしてホイホイとD&Dすると簡単に監視リストにデータを追加することができます。
感想
確か、最初は1商品を追加する機能が無いか、UIが解りにくかったのですが・・・、今は抜群のUIに生まれ変わりました。ドラッグ・アンド・ドロップで商品を追加する機能はすごく気持ちいいです。
審査結果
予選通過
改修ポイント
私が理解できていないだけだと思うのですが、新機能の「新刊検索」の方法が解らなく・・・、出来ればコメントで教えて下さい。
↓
判明
作者様からコメント頂きました。
ブラウズ画面の「URL変更」ポップオーバーの「新刊検索」を選択
別のポップオーバーにさりげなく変わるので、その中のテキストフィールドに登録している本の作者が並ぶので、そこから選択して「開く」です。
ここ、サラッと書いていますが実は結構気を使ってます。
ポップオーバーが実は2つあって、途中で入れ替わっている
著者名を選択した時にOnObjectEnterで行が選択されるようになってる
ここの作者名を動的にするためにテキストフィールドにして増えてもスクロールして対応できるようになっているんですね。
というわけで、単行本派の新刊チェックも簡単に出来るようになっています。
ところで、『強殖装甲ガイバー』の新刊はまだなのかしら・・・
動作が不安定になった為システムを1年半前のバックアップに戻したところ、
Webビューアのレスポンスが改善した。
商品の詳細情報ページの読み込み完了に1分弱掛かっていたのだが、5秒以内に完了する。
Safariでは異常がなかったのでWebビューアに起因すると思っていたのだけど。
製作者です。
Amazonページのhtmlの変更により必要になった修正を公開しました。
新規スクリプト作成が5個・既存スクリプト変更が3個となります。
投稿順は逆の方がよかったですね。
作業_#8 部分変更
スクリプト名:_書籍データを登録する (URL_ポスト)
(流用)変更せず
以下本文
(流用) ウインドウの固定
(流用) 変数を設定 [ $URL; 値:kindle書籍購入管理::URL_ポスト ]
(流用) 消去 [ kindle書籍購入管理::URL_ポスト ][ 選択 ]
(流用) フィールドへ移動 [ ]
(流用) If [ $URL = "" ]
(流用) 現在のスクリプト終了 [ ]
(流用) End If
(流用) #商品番号を取り出す
(流用) #%2Fdp%2F ... %2F
(流用) 変数を設定 [ $product_no; 値:Let (
[
#1 = Position ( $URL ; "%2Fdp%2F" ; 1 ; 1 ) ; #2 = Length("%2Fdp%2F") ;
#3 = Position ( $URL ; "%2F" ; #1 + #2 + 1 ; 1 ) ;
#4 = If (#1 > 0 and #3 > 0 ; Middle ( $URL ; #1 + #2 ; #3 - #1 - #2 ) ; "")
] ;
If…
作業_#7 部分変更
スクリプト名:・[Detail/null]型ページを利用する書籍一覧の更新
(流用)変更せず
以下本文
(流用) ウインドウの固定
(流用) If [ Get ( 対象レコード数 ) = 0 ]
(流用) 現在のスクリプト終了 [ ]
(流用) End If
(流用) If [ Get ( アクティブ修飾キー ) ≠ 1 ]
(流用) レコード/検索条件/ページへ移動[ 最初の ]
(流用) End If
(流用) If [ 1=0 ]
(流用) 変数を設定 [ $time_s; 値:Get ( 現在の時刻 UTC ミリ秒 ) ]
(流用) End If
(流用) #作業中断するメッセージの受け手
(流用) 変数を設定 [ $$message; 値:"" ]
(流用) #作業進行状況をウインドウに示す
(流用) スクリプト実行 [ 「_進行ウインドウを開く」 ]
(流用) 変数を設定 [ $progress; 値:"更新中の準備..." ]
(流用) ウインドウ内容の再表示
(流用) #表示完了を待つ
(流用) スクリプト実行 [ 「_Webビューアのレスポンス確認」; 引数: 1 ]
(流用) #Webビューアをクリア
(流用) 変数を設定 [ $$URL; 値:"about:blank" ]
(流用) ウインドウ内容の再表示
(流用) #一度に検索する作品数
(流用) 変数を設定 [ $RC; 値:"" ]
(流用)…
作業_#6 部分変更
スクリプト名:・[Search/List]型リストを活用する書籍一覧の更新
(流用)変更せず
以下本文
(流用) ウインドウの固定
(流用) If [ Get ( 対象レコード数 ) = 0 ]
(流用) 現在のスクリプト終了 [ ]
(流用) End If
(流用) If [ Get ( アクティブ修飾キー ) ≠ 1 ]
(流用) レコード/検索条件/ページへ移動[ 最初の ]
(流用) End If
(流用) If [ 1=0 ]
(流用) 変数を設定 [ $time_s; 値:Get ( 現在の時刻 UTC ミリ秒 ) ]
(流用) End If
(流用) #作業中断するメッセージの受け手
(流用) 変数を設定 [ $$message; 値:"" ]
(流用) #作業進行状況をウインドウに示す
(流用) スクリプト実行 [ 「_進行ウインドウを開く」 ]
(流用) 変数を設定 [ $progress; 値:"更新の準備..." ]
(流用) ウインドウ内容の再表示
(流用) スクリプト実行 [ 「_商品番号OR検索の状況確認」 ]
(流用) #一度に検索する商品数を1件または10件に設定する
(流用) 変数を設定 [ $RC; 値:Get ( スクリプトの結果 ) ]
(流用) If [ 1=0 ]
(流用) #1件ずつ商品数を検索する
(流用) 変数を設定 [ $RC; 値:1 ]
(流用)…