Lesson24.Alfredの出力を10件以上に設定する/濁音・半濁音検索に対応する
サンプル動画
ワークフロー
特段のテクニックは不要です
Jsonフォーマットのitemsに10件以上、記述するだけです
Alfredでは9件しか出力できませんが、矢印キー(↑や↓)で表示をスクロールできます
最終行と開始行もシームレスにフォーカスが移動します
Alfredってほんとよくできています
今回はレシピ検索を題材に選びました
『みんなのきょうの料理』というNHK料理番組のレシピサイトです
検索が細やかにできるのと、検索結果が20行なので、このサイトにしました
キーワード検索をしてみると、こんなURLになりした
https://www.kyounoryouri.jp/search/recipe?keyword=たまねぎ
次のページを見てみると
https://www.kyounoryouri.jp/search/recipe?keyword=たまねぎ&pg=2
簡単ですね。
alfredの引数を2つにして、キーワードとページを入力する感じかな
ちなみに、初めのページは下記でもOKでした
https://www.kyounoryouri.jp/search/recipe?keyword=たまねぎ&pg=1
ということで&pg=も全てくっつけても良さそうです
今回は、1ページ目は引数は1つだけ、2ページ目移行は2つの引数ありということにしたので
別々にURLを組み立てています
テストをして、いきなり不具合にぶち当たりました
『玉子』のレシピは検索できますが、『たまご』や『タマゴ』ではできません
ひらがな、カタカナがNGなのかと思ったのですが、『チャーハン』や『ほうれんそう』は
検索できるようです
何種類もためしてみて、どうやら濁点『゛』、半濁点『゜』があると検索できないと
判別できました
ネットで調べてみると、文字コードの方式(NFCとNFD)に原因があるよう
一見に一文字に見えても、NFDは2文字を統合したコード、NFCは単一のコードとして
扱っているとのこと
iconvで簡単に変換できるとのことでやってみた
iconv -f UTF-8-MAC -t UTF-8
こんなコードを入れたら、速解決
ん、ちょっと待てよ
Lesson4で%エンコードをするときに、iconvが使えなかったのでnkfをインストールしたの
ですが、使えたのですね。。。まぁいいか
Lesson14のRSSマニアのロジックの誤りで、AlfredのJSON出力フォーマットが9件以上でも
対応していることがわかったので、
検索結果が20件程度あるサイトを探して作ってみました
HTMLのパーズは簡単だったのですが、テストの際に、キーワードによって検索できない
不具合があり苦労しました
いままで気がつかなかったけど、他のワークフローでも同様の事象(濁音、半濁音問題)が
あったのかもしれませんね。まぁいいか
NHK『きょうの料理』の公式レシピサイトを検索
1.Alfredworkflowをダウンロード
2.ファイルをダブルクリックしてワークフローに登録
キーワード ”レシピ” + ”食材・料理・講師名など”
検索結果表示後ブランクに続けてなんでも良い文字でページ制御
トップページに戻る