RSSリーダーはオワコン...だなんて話題をよく見かけるけど、
ニュースやブログ、はたまたSNSなどの欲しい情報を
なんでもかんでも登録しておくと
情報が更新されると、パソコンやスマホに
いち早く通知してくれるので、
オレ的には欠かせない存在(笑)
本当に必要な情報に絞れるし、
SNSのように余計な情報に触れなくて良い分、
気持ちが楽?
しかも、新しい情報が出たら通知してくれるから、
探しに行かなくても良いので楽?
そんなRSS更新情報にこだわって
「臨床工学技士のアンテナ」だなんて
アンテナサイトを拵えてみた
...だけど、
プログラムの知識を持たなかったので
外部のRSS Feed(更新情報)サービス(もちろん無料)を利用して、
ウェブサイトにコピペして表示させていた(笑)
...しかし、
掲載サイトが100を超えたあたりから
外部サービスのサーバで対応できなくなって
エラーが頻発(無料だからか?:苦笑)
半分以上、更新表示されなくなり
ウェブサイトとして更新するのも恥ずかしいほど
使い物にならなくなった(汗)
そこで、RSS FEEDを自作してみようと
今まで逃げ回っていたプログラミングに挑戦!?
イヤイヤイヤ...
いきなりは難しんで、
ググって、同じことやっている方のやり方をコピペ
...じゃなくて、参考にさせてもらって
チョイ改造を加えてみた(笑)
Googleアカウントを持っているなら
Google Apps Script(GAS)を使うと簡単できちゃうんだよね
GASとは、
Googleが提供する、Webアプリを開発するプログラミング言語で
有名なJava Script(JS)がベースとなっている
GASを勉強したら、JSの勉強にもなるかもね(笑)
Google特有のサービス
Gmailやマップ、カレンダー
ドキュメント(Wordみたいなもの)や
スプレットシート(Excelみたいなもの)
等々...と連携させると、
いろんなことが自動化できるそうな!?
...で早速、以下のサイトにアクセス
https://script.google.com/home
「+新規スクリプト」よりコードを打ってみた(汗)
[コード.gs]
1 function doGet() {
2 return HtmlService
3 .createTemplateFromFile('index')
4 .evaluate();
5 }
6
7 function getRss() {
8 // フィードのURL
9 var feedURL = "https://feed43.com/xxxxxxxxxxxxxxxx.xml";
10 var response = UrlFetchApp.fetch(feedURL);
11 var xml = XmlService.parse(response.getContentText());
12
13 var items = xml.getRootElement().getChildren('channel')[0].getChildren('item');
14
15 var articles = [];
16 for(var i = 0; i < items.length; i++) { 17 var title = items[i].getChild("title").getText(); 18 var url = items[i].getChild("link").getText();
19 articles.push({title: title, url: url});
20 }
21
22 return articles;
23 }
これをHTMLに落とす...Feedボタンなども付け加えてみた(汗)
[Index.html]
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <base target="_top"></base>
5 <style type="text/css">
6
7 li {
8 padding-top:10px;
9 padding-left :0px;
10 list-style-type: square;
11 color: #AAAAAA;
12 border-bottom: dotted 1px #AAAAAA;
13 }
14
15 </style>
16 </head>
17 <body>
18 <a class="RSS Feed" href="https://feed43.com/xxxxxxxxxxxxxxxx.xml" target="_blank"><img alt="RSS Feed" height="20" src="https://images-fe.ssl-images-amazon.com/images/I/318pS6vsuxL.png" width="20" /></a>
19 <a class="Feedly" href="https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Ffeed43.com%2Fxxxxxxxxxxxxxxxx.xml" target="blank"><img 20="" alt="follow us in feedly" height="20" id="feedlyFollow" src="http://s3.feedly.com/img/follows/feedly-follow-square-volume_2x.png" width="20" /></a>
20 <a class="Inoreader" href="https://www.inoreader.com/?add_feed=https://feed43.com/xxxxxxxxxxxxxxxx.xml" target="_blank"><img alt="follow us in inoreder" height="20" id="inoreaderFollow" src="https://jds-blog.net/wp-content/uploads/2018/11/inoreader-1.jpg" width="20" /></a>
21
22 <ul id="things">23
<li>Loading...</li>
24 </ul>
25
26 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
27 <script>
28 // The code in this function runs when the page is loaded.
29 $(function() {
30 google.script.run.withSuccessHandler(showThings)
31 .getRss();
32 });
33
34 function showThings(things) {
35 var list = $('#things');
36 list.empty();
37 for (var i = 0; i < things.length; i++) {
38 list.append('<li>' + '<a href="' + things[i].url + '">' +things[i].title + '</a></li>
');
39 }
40 }
41 </script>
42 </body>
43 </html>
あとは、保存→公開で
ウェブアプリケーションのURLを
サイトにコピペするだけ!?
意外と簡単だった(笑)
これを、100を超える全てのサイトを置き換えるのに
丸1週間かかった(休日はほぼ返上で:汗)
だけど、外部サービス使ってたときと比べ
エラーは皆無
動作もかなり快適になったよ(嬉)
GASを活用したら、
ウェブアプリ以外にも
いろんなことができそうだね...
SLACKのようなスタッフ間の連絡ツールや勤怠管理、
災害時の情報ツール、
クラウド型の医療情報システムなんかも作れるかも?
夢は広がるね(笑)
前スレで脱Google!とか偉そうなこと言ってたのに
これじゃ抜けるどころか、Google様々だな(苦笑)
その前にGAS(JS)について
もう少し勉強するとします(苦笑)
ニュースやブログ、はたまたSNSなどの欲しい情報を
なんでもかんでも登録しておくと
情報が更新されると、パソコンやスマホに
いち早く通知してくれるので、
オレ的には欠かせない存在(笑)
本当に必要な情報に絞れるし、
SNSのように余計な情報に触れなくて良い分、
気持ちが楽?
しかも、新しい情報が出たら通知してくれるから、
探しに行かなくても良いので楽?
そんなRSS更新情報にこだわって
「臨床工学技士のアンテナ」だなんて
アンテナサイトを拵えてみた
...だけど、
プログラムの知識を持たなかったので
外部のRSS Feed(更新情報)サービス(もちろん無料)を利用して、
ウェブサイトにコピペして表示させていた(笑)
...しかし、
掲載サイトが100を超えたあたりから
外部サービスのサーバで対応できなくなって
エラーが頻発(無料だからか?:苦笑)
半分以上、更新表示されなくなり
ウェブサイトとして更新するのも恥ずかしいほど
使い物にならなくなった(汗)
そこで、RSS FEEDを自作してみようと
今まで逃げ回っていたプログラミングに挑戦!?
イヤイヤイヤ...
いきなりは難しんで、
ググって、同じことやっている方のやり方をコピペ
...じゃなくて、参考にさせてもらって
チョイ改造を加えてみた(笑)
Googleアカウントを持っているなら
Google Apps Script(GAS)を使うと簡単できちゃうんだよね
GASとは、
Googleが提供する、Webアプリを開発するプログラミング言語で
有名なJava Script(JS)がベースとなっている
GASを勉強したら、JSの勉強にもなるかもね(笑)
Google特有のサービス
Gmailやマップ、カレンダー
ドキュメント(Wordみたいなもの)や
スプレットシート(Excelみたいなもの)
等々...と連携させると、
いろんなことが自動化できるそうな!?
...で早速、以下のサイトにアクセス
https://script.google.com/home
「+新規スクリプト」よりコードを打ってみた(汗)
[コード.gs]
1 function doGet() {
2 return HtmlService
3 .createTemplateFromFile('index')
4 .evaluate();
5 }
6
7 function getRss() {
8 // フィードのURL
9 var feedURL = "https://feed43.com/xxxxxxxxxxxxxxxx.xml";
10 var response = UrlFetchApp.fetch(feedURL);
11 var xml = XmlService.parse(response.getContentText());
12
13 var items = xml.getRootElement().getChildren('channel')[0].getChildren('item');
14
15 var articles = [];
16 for(var i = 0; i < items.length; i++) { 17 var title = items[i].getChild("title").getText(); 18 var url = items[i].getChild("link").getText();
19 articles.push({title: title, url: url});
20 }
21
22 return articles;
23 }
これをHTMLに落とす...Feedボタンなども付け加えてみた(汗)
[Index.html]
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <base target="_top"></base>
5 <style type="text/css">
6
7 li {
8 padding-top:10px;
9 padding-left :0px;
10 list-style-type: square;
11 color: #AAAAAA;
12 border-bottom: dotted 1px #AAAAAA;
13 }
14
15 </style>
16 </head>
17 <body>
18 <a class="RSS Feed" href="https://feed43.com/xxxxxxxxxxxxxxxx.xml" target="_blank"><img alt="RSS Feed" height="20" src="https://images-fe.ssl-images-amazon.com/images/I/318pS6vsuxL.png" width="20" /></a>
19 <a class="Feedly" href="https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Ffeed43.com%2Fxxxxxxxxxxxxxxxx.xml" target="blank"><img 20="" alt="follow us in feedly" height="20" id="feedlyFollow" src="http://s3.feedly.com/img/follows/feedly-follow-square-volume_2x.png" width="20" /></a>
20 <a class="Inoreader" href="https://www.inoreader.com/?add_feed=https://feed43.com/xxxxxxxxxxxxxxxx.xml" target="_blank"><img alt="follow us in inoreder" height="20" id="inoreaderFollow" src="https://jds-blog.net/wp-content/uploads/2018/11/inoreader-1.jpg" width="20" /></a>
21
22 <ul id="things">23
<li>Loading...</li>
24 </ul>
25
26 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
27 <script>
28 // The code in this function runs when the page is loaded.
29 $(function() {
30 google.script.run.withSuccessHandler(showThings)
31 .getRss();
32 });
33
34 function showThings(things) {
35 var list = $('#things');
36 list.empty();
37 for (var i = 0; i < things.length; i++) {
38 list.append('<li>' + '<a href="' + things[i].url + '">' +things[i].title + '</a></li>
');
39 }
40 }
41 </script>
42 </body>
43 </html>
あとは、保存→公開で
ウェブアプリケーションのURLを
サイトにコピペするだけ!?
意外と簡単だった(笑)
これを、100を超える全てのサイトを置き換えるのに
丸1週間かかった(休日はほぼ返上で:汗)
だけど、外部サービス使ってたときと比べ
エラーは皆無
動作もかなり快適になったよ(嬉)
GASを活用したら、
ウェブアプリ以外にも
いろんなことができそうだね...
SLACKのようなスタッフ間の連絡ツールや勤怠管理、
災害時の情報ツール、
クラウド型の医療情報システムなんかも作れるかも?
夢は広がるね(笑)
前スレで脱Google!とか偉そうなこと言ってたのに
これじゃ抜けるどころか、Google様々だな(苦笑)
その前にGAS(JS)について
もう少し勉強するとします(苦笑)
0 件のコメント:
コメントを投稿