今まで紹介してきたショートカットはコチラ!!

こんにちは,しまさん(@shimasan0x00)です.
皆さんはメルカリ(mercari)使われますか??私は必要なくなったゲームを一度出品したときにお世話になりました.
そんな出品したときに思ったのですが「値段設定」難しくありませんか??
メルカリはその商品が相場いくらで売られているか教えてくれますが,ちょっと安めにつけすぎて損したり高すぎて全然売れないなんてことがあります.
なので私はAmazonなどで値段を調べていたのですが,方やメルカリ開いて,Amazon見て…って面倒なんですよ.
もしもう一度使うことがあれば楽にAmazonで値段を知りたい!!って思ったときにiOS/iPadOSの「ショートカット」に出会いました.
しかもPythonista3使えばショートカット上でPythonスクリプト実行できるんです.
今回はPythonista3+ショートカットを使用してメルカリ上でサクッとAmazonでの値段を調べたいと思います.
動画版
スポンサーリンク
必要なアプリ
- Pythonista(1200円)
- Mercariのアプリ
- (必須ではない)Amazonのアプリ
スポンサーリンク
Pythonista3の注意点

Pytonistaを使ってスクリプトを実行するとコマンドライン引数としてショートカット上の値をsys.argv
でアクセスできるとあります.
まぁ控えめにいって最高ですね.本当にその通りであればですが…
そう,Pythonista3は神アプリですがiOS/iPadOS13においてショートカットからコマンドライン引数を渡せずにエラーになる問題があります.
Pythonistaのコミュニティで議論されています.
ではショートカット上で生成される引数をスクリプトに渡したいどうすればいいのでしょうか??
結論からいうと結構無理やり渡すことになります.
まず該当アプリから調べたい商品のテキストを得たらURLとしてエンコードします.
Pythonistaのスクリプトは実行URLを生成できるので,生成後スクリプト上に用意しておいた仮引数をエンコードした商品テキストに置き換えます.
そうして完成したPythonista実行URLを実行します.
(回りくどいですが,アップデート来るまで待ちましょう.)
環境
- iPad Pro(2018) 11inch Model
- iPadOS 13.3
スポンサーリンク
ショートカットを作成する
まずはショートカットの全容を以下に示します.



大まかには以下の構成となっています.
- メルカリから商品名を取得する
- 商品名だけを取得するために前処理をする
- テキストをエンコード
- Pythonista実行コードを用意
- 仮引数をエンコードしたテキストに置き換え
- URL展開
Pythonistaで使用するPythonのコードは以下のGitHubにあるので使用してください.
- テキストを分割:「カスタム」を選択.httpで分割する
- リストから項目を取得:最初の項目を取得
- テキストを置き換え:(\[.*\]|\(.*\)|「.*」|(.*))を空白に
- 一致するテキスト:『.*』
- URLエンコード
- 変数に追加:keywordに追加
- URL:Pythonistaの実行URL
- テキストを置き換え:tomatoをkeywordに置き換え
- URLを開く
Pythonistaで実行URLを生成
まずは右上のレンチをクリックします.

次はShareを選択してください.

最後にCreate Executable URLを選択したらコピーされるので上記のPythonista実行URLを貼る場所で使用してください.

ショートカットを実行してみる
では実際に作成されたショートカットを使用していきましょう.
今回のプログラムではメルカリユーザのタイトルの自由さを考慮して5件程度商品を表示しています(また,SwitchだけでAmazon検索しても本体が出てくるとは限らない,アクセサリやソフトもありうる).



ちゃんと表示されていますね!!!これがショートカットワンタップなのは最高.
さいごに
今回はメルカリ上でサクッとAmazonでの値段を調べるショートカットをPythonistaと絡めて作成しました.
ショートカット自体も結構色々できますが,Pythonを絡めるとできることめちゃくちゃ増えますね.
楽しくなってきました.ライフハック生活だ!!!!