n8nで業務改善「定期的にニュースサイトから記事を読み込み共有する」
n8nで業務改善シリーズです。
n8nではサービス間の連携が可能なためニュースサイトの情報を取得して通知する、ということはとても得意です。今回はこれを使って業務改善例を作成したのでぜひ参考にしてください。
こんな方におすすめ
- IT関連の最新ニュースに疎く、消極的な従業員が多い。
- 現状全く英語が読めず、少しずつでも英語に慣れてほしいと思っている。
n8nでの解決方法
指定した時間にニュースサイトから記事を取得しファイルに書き込む作業を自動化する。
完成フロー
Cronノード |
---|
・自動実行ノード。 ・ワークフローを一定の日付、時間、または間隔で定期的に実行するようにスケジュールできます。 ※タイムゾーン(標準時間帯)の設定に注意しましょう。日本時間の場合はTokyoを選択しておく必要があります。 公式の説明はこちら(英語) |
Hacker Newsノード |
---|
・HackerNewsサイト専用ノード。 ・コンピュータサイエンスと起業家精神に焦点を当てたソーシャルニュースウェブサイト。 ・アカウント作成、認証情報不要で取得可能。 公式の説明はこちら(英語) |
Move Binary Dataノード |
---|
・バイナリとJSON変換ノード。 ・バイナリからJSON、JSONからバイナリの変換が行える。 公式の説明はこちら(英語) |
Write Binary Fileノード |
---|
・バイナリファイルの書き込みノード。 ・バイナリ形式のデータを指定したパスのファイルに書き込みます。 公式の説明はこちら(英語) |
ワークフロー作成
それでは作成していきます。
Step1. ワークフロー作成画面を開く
n8nデスクトップアプリを立ち上げてください。
左側のメニューのWorkFlowのNewから新規ワークフロー作成画面を開きます。
作成画面を開くとこのようなStartというノードがある状態の作成画面が表示されます。
Step2. 自動実行を作成
自動実行するノードが開始ノードとなるので今回はStartノードは使わず、Cronノードを使用します。
右の+ボタンを押して検索に「cron」と入力し、検索結果にあるCronを選択してください。
Parametersにある「Add Cron Time」ボタンをクリックすると、設定画面が表示されます。
Modeのセレクトボックスをクリックすると毎分、毎時間など、毎日など定期的に実行させたい期間が設定できます。
今回は実行した結果がすぐに見たいので毎分(Every Minute)を選択します。
最後にタイムゾーンの設定を確認します。
左のメニューのWorkflowからSettingsをクリックしてください。
Tokyo以外が設定されている場合はTokyoを選択してSaveで設定を保存します。
Step3. ニュース記事を取得
次にHacker NewsノードでHacker Newsサイトのニュース記事を取得します。
Cronノードの右の+ボタンを押してノードの新規追加を行います。
検索に「news」と入力し、検索結果にあるHacker Newsを選択します。
設定画面が開かれるので左のParametersの内容を設定します。
- Resource:All
- Limit:1
※複数件をファイルに書き込む場合は別のノードも使った処理が必要なので今回は1件で行います。
設定ができたら「Execute Node」ボタンをクリックして実行してみます。
実行が成功し、右側に取得結果が表示されました。
Step4. 取得したデータをバイナリ形式に変換
HackerNewsはJSONという形式で取得されます。
ファイルの書き込みはBinary(バイナリ)というデータ形式で書き込みを行うため、
「news記事を取得→取得したデータをバイナリに変換→ファイルに書き込み」という手順が必要になります。
まず取得したnewsデータをバイナリデータに変換するためMove Binary Dataノードを設定していきます。
Hacker Newsの右にある+マークをクリックし新規ノードを追加します。
検索に「binary」と入力し、検索結果にあるMove Binary Dataを選択します。
設定画面が開かれるので左のParametersの内容を設定します。
- Mode:JSON to Binary
- Limit:1
設定ができたら「Execute Node」ボタンをクリックして実行してみます。
実行が成功し、右側に取得結果が表示されました。 Binaryに表示を切り替えると取得できていることが確認できます。
Show Binary Dataボタンを押すと取得内容が確認できるので見てみましょう。
Hacker Newsノードで取得した内容がバイナリに変換されても問題なく設定されていることがわかります。
見た目はHacker Newsノードで取得したJSON形式と同じようですが、バイナリ形式に変換できました。
Step5. バイナリ形式のデータをファイルに書き込む
自動実行した結果を自分のパソコンにあるファイルに書き込みを行うようにします。
まず書き込むファイルを用意します。
今回はデスクトップに新規でファイルを作成しそのファイルに取得したニュース記事を書き込みたいと思います。
n8nというフォルダを作って中にtest.txtというファイルを作ります。
n8nのワークフロー作成画面に戻って、ファイルへの書き込みのためにWrite Binary Fileノードを追加します。
Move Binary Dataノードの右の+マークから新規ノードを追加します。
検索に「binary」と入力して、Write Binary Fileノードを選択します。
先ほど作成したtest.txtのパスを取得します。
パスはこのようになると思います。
「C:\Users\ご自身のユーザー名\Desktop\n8n\test.txt」
※環境により「\」が「/(バックスラッシュ)」になると思いますが、どちらでも問題ありません。
開かれた設定画面のParametersの内容を設定します。
- File Name:C:\Users\ご自身のユーザー名\Desktop\n8n\test.txt
設定ができたら「Execute Node」ボタンをクリックして実行してみます。
実行が成功したのでファイルの中身を見てみます。
取得した内容が書き込まれています。
確認できたら、自動実行で書き込まれることも見たいのでファイルの中身を削除しておきましょう。
これでフローの作成は終了です。
Step6. 自動実行を動かしてみる
自動実行するためにはワークフローがアクティブな状態でなければいけません。
右上のActiveボタンを有効にします。
有効にすると説明が表示されます。
ワークフローがアクティブ化された通知と、cronノードが自動で実行されるというような内容が書かれています。
Got itボタンを押して完了します。
自動実行の時間を1分にしているので時間を待ってtest.txtを開くと書き込まれていることが確認できます。
1分ごとに書き込みを実行するのでもう1度消しても同じように書き込まれます。
これで、
「指定した時間にニュースサイトから記事を取得しファイルに書き込む」
というワークフローがすべて完成です。
最後に
いかがだったでしょうか?
定期的に自動で実行したり、自分のパソコンのファイルに書き込むというのは、業務に落とし込んでも応用して使えそうな機能かと思います。
例えばこのワークフローの応用で、メールでも通知させるようにしたりすれば、毎日サイトに訪問して閲覧していた内容を自動的に届けさせるというようなことも出来ます。
色々と応用して使って頂ければと思います。
あなたのデジタル化も
掲載しませんか?