Lesson8. RSSニュースを検索する
ワークフロー
早速、Googleニュース検索のRSSを手打ちしてみたら日本語の検索がうまくないようです
試しにUTF-8で%エンコードしたら問題なく取得できました
Lesson4で実装したnkfを利用すればOKですね
Lesson7と同様にcURLでRSSを取得します
今回は、一旦RSSを変数で受けるようにしてみました
特に問題なく、後続のタグ抽出ができました
Lesson7はなにが悪かったのかな、まあいいか
こちらもLesson7と同様にsedとgrepでタグの中身をとりだしています
結局、タイトルが、『記事のタイトル ー
』という構成だったので
ハイフンの前を出力のtitleに、後ろをsubtitleにセットすることにしました
下記のコードが、『-』で分割するものです
arry=(${title[i]//-/ })
こちらもLesson7と同様です
上記の分離を受けてtitleに記事のタイトルをsubtitleにニュース発信元をセットしています
ちなみにsubtitleは『ニュース発信元 - 発信日』という感じの構成です
RunScript
Lesson7のRSSツールの応用です。大きな違いは検索するワードをパラメータとしてもらうぐらい
googleニュースの検索用RSSを発見したので作ってみました
googleニュースのキーワード検索を行う
1.alfredworkflowをダウンロード
2.ファイルをダブルクリックしてワークフローに登録
Alfredから『ニュース』+検索ワード
・ScriptFilterのJSONフォーマットの編集をワンライナーから1行1プロパティーに変更
修正前
json=$json'{"title":"'${arry[0]::24}'","subtitle":"'${arry[1]}' - '${pdate[i]:9:4}.${pdate[i]:6:3}.${pdate[i]:4:2}'","arg":"'${link[i]}'"}'
修正後
json=$json'{"title":"'${arry[0]::24}'",'
json=$json'"subtitle":"'${arry[1]}' - '${pdate[i]:9:4}.${pdate[i]:6:3}.${pdate[i]:4:2}'",'
json=$json'"arg":"'${link[i]}'"}'
シェルスクリプトをbashからzshに変更
zshで変数内置換後の配列格納の際に空白で分割されない不具合に対応
変更前
arry=(${title[i]//-/ })
変更後
arry=(`echo ${title[i]/-/ }`)
『//』を『/』に変更した部分は、初めの『-』だけで分割するようにしたものです
ニュース発信元の文字列に『-』があるものがあったので、合わせて修正しました
ちなみにzshのスクリプトに以下のように、オプションを指定をする方法もあるそうです
setopt SH_WORD_SPLIT