Login
Immutable PageDiscussionInfoAttachments
su_zu/UEC RSS One-Liner

MMA

MMA Advent Calendar 2016/12/13

これはMMA Advent Calendar 2016の13日目の記事です

電気通信大学RSS「新着情報」

https://www.uec.ac.jp/index.rss

電気通信大学が学会での受賞や電気通信大学内で行うイベントなどその他もろもろの情報を発信しているRSSです。

私達電気通信大学生はもちろんこのRSSをチェックしたいですよね?でもブラウザの環境がない!!GUI環境が手元にない!!そんな時でも簡易的でもいいから電気通信大学RSSがみたいよおおおという需要に応える形でさくっと適当にそれなりに使えそうなものをOne-Linerで作ってみました。

ちなみにこのRSSのlinkタグの中身が "http://www.uec.ac.jp/news/announcement/hogefuga" だったり "/news/announcement/hogefuga" だったり統一されていないのに途中で気づいてOne-Linerを修正しました。

One-Liner

依存しているもの peco, xmllint, curl

pecoはRSS一覧から見たい記事を選択するインターフェイスとして使用します。xmllintはその名の通りxmlパーサーです。この2つをインストールしてください。

上の依存を見てなんだPOSIX互換じゃないのかよとかいう疑問を持ったと思いますが聞こえないふりをします。
ちなみにOne-Linerの定義とシェル芸の定義というものを以下のようであるとするならば間違いなく下記に記述するものはOne-Linerでありシェル芸です!!POSIX互換は関係ないのです!!そもそも通信系はcurlかwgetかのPOSIX外コマンドに頼るしかない状況だからPOSIX原理主義者に何言われても動じない心を持っています。たまにcurlやsendmailは例外だからという言葉を見るとなるほどなと思い、それなら「例外」という必殺技を僕も使いたいと思います。

仕様としてはRSS記事一覧から見たい記事を選択するとその記事のpタグを抜き出しているだけです。pタグだけ?ちゃんと整形して出力しろよという声が聞こえてくると思いますが聞こえないふりをします。少し言い訳をすると記事のフォーマットが一定ではないのでめんどくさいのと大体pタグさえ見れば記事の内容わかるだろうと雑に考えたからです。

curl  $(xmllint --xpath "//rss/channel/item[$(echo 'cat rss/channel/item/title' | xmllint --shell http://www.uec.ac.jp/index.rss | sed -n '/title/p' | sed -e 's/<title>\(.*\)<\/title>/\1/' | awk '{print NR, $0}' | peco | sed 's/^\([0-9]*\).*/\1/')]/link"  http://www.uec.ac.jp/index.rss | sed 's/<link>\(.*\)<\/link>/\1/' | awk '{if($1 ~ /http/) print; else print "http://www.uec.ac.jp" $1}') 2>/dev/null | xmllint --html --xpath '//p' 2>/dev/null - | sed 's/\(.*\)/\1\n/'

例:【報告】第4回電気通信大学Unique & Exciting Research Symposium ~研究力強化に向けた組織的な連携の在り方~

出力されたものは以下のようになります

<p><a id="pageTop"></a>このページの先頭です</p><p><a href="#contentTop">メニューを飛ばして本文を読む</a></p><p id="siteTtl"><a href="/"><img src="/common_rwd/images/pct_site-logo_pc.png" width="233" height="40" alt="国立大学法人 電気通信大学" class="switch"></a></p><p><a id="contentTop"></a>ここから本文です</p><p class="print">印刷機能を使用する場合はJavaScriptを有効にしてください。</p><p class="taRight">2016年12月07日</p><p>2016年12月2日(金)に本学B棟202教室にて、「第4回電気通信大学Unique &amp; Exciting Research Symposium」が開催されました。本シンポジウムは、文部科学省研究大学強化促進事業の一環として毎年開催されており、今年は、「研究力強化に向けた組織的な連携の在り方」とのテーマに関し、全国の大学、研究機関、民間企業等から約180名の参加がありました。</p><p>当日は、文部科学省大臣官房審議官(研究振興局担当)の板倉康洋氏のご来賓挨拶の後、パナソニック株式会社フェローの上野山 雄氏の講演「パナソニックにおける組織的な産学連携の取り組みと大学への期待」が行われました。その後、名古屋大学 学術研究・産学官連携推進本部副本部長の藤巻朗氏から「名古屋大学における研究力強化と組織的な連携の在り方」、また本学研究企画室副室長の森倉晋URAから「電通大における組織的な連携活動を加速するURAの取り組み」と題して、それぞれの大学における取り組みの紹介がありました。</p><p>「研究力強化に向けた組織的な連携の在り方」をテーマとするパネルディスカッションでは、講演者3名に加えて、福井大学 産学官連携研究開発機構URAオフィス副所長の山口光男氏にも参加して頂き、本学産学官連携センター長の中嶋信生特任教授の司会で、組織的な連携を進めるための繋ぐ機能やURAの役割に関して、会場の参加者との質疑討論を含めて活発な議論が行われました。</p><p>今後も引き続き学内外のネットワークの構築と活用を通じて、組織的な連携と協働の体制を構築することにより本学の研究力強化に向けて取り組んで参ります。</p><p class="toPageTop"><a href="#pageTop">TOP</a></p><p class="copyright"><span>Copyright © UEC Tokyo. All rights reserved.</span></p>

う〜ん見づらい。。。

su_zu/UEC RSS One-Liner (last edited 2016-12-12 21:58:37 by su_zu)