n8nで業務改善「定期的にニュースサイトから記事を読み込み共有する」

s
satou
update 2022/6/7

n8nで業務改善シリーズです。

n8nではサービス間の連携が可能なためニュースサイトの情報を取得して通知する、ということはとても得意です。今回はこれを使って業務改善例を作成したのでぜひ参考にしてください。

こんな方におすすめ

  • IT関連の最新ニュースに疎く、消極的な従業員が多い。
  • 現状全く英語が読めず、少しずつでも英語に慣れてほしいと思っている。

n8nでの解決方法

指定した時間にニュースサイトから記事を取得しファイルに書き込む作業を自動化する。

完成フロー

n8nワークフロー、指定した時間にニュースサイトから記事を取得しファイルに書き込む

Cronノード
・自動実行ノード。
・ワークフローを一定の日付、時間、または間隔で定期的に実行するようにスケジュールできます。
※タイムゾーン(標準時間帯)の設定に注意しましょう。日本時間の場合はTokyoを選択しておく必要があります。
公式の説明はこちら(英語)
Hacker Newsノード
・HackerNewsサイト専用ノード。
・コンピュータサイエンスと起業家精神に焦点を当てたソーシャルニュースウェブサイト。
・アカウント作成、認証情報不要で取得可能。
公式の説明はこちら(英語)
Move Binary Dataノード
・バイナリとJSON変換ノード。
・バイナリからJSON、JSONからバイナリの変換が行える。
公式の説明はこちら(英語)
Write Binary Fileノード
・バイナリファイルの書き込みノード。
・バイナリ形式のデータを指定したパスのファイルに書き込みます。
公式の説明はこちら(英語)

ワークフロー作成

それでは作成していきます。

Step1. ワークフロー作成画面を開く

n8nデスクトップアプリを立ち上げてください。
左側のメニューのWorkFlowのNewから新規ワークフロー作成画面を開きます。 n8nアプリのワークフローの詳細メニュー
作成画面を開くとこのようなStartというノードがある状態の作成画面が表示されます。 n8nでワークフロー作成を選択した時の初期表示

Step2. 自動実行を作成

自動実行するノードが開始ノードとなるので今回はStartノードは使わず、Cronノードを使用します。


右の+ボタンを押して検索に「cron」と入力し、検索結果にあるCronを選択してください。 n8nの新規ノード追加画面でcronで検索した結果


Parametersにある「Add Cron Time」ボタンをクリックすると、設定画面が表示されます。 n8nのCronノード設定画面


Modeのセレクトボックスをクリックすると毎分、毎時間など、毎日など定期的に実行させたい期間が設定できます。

今回は実行した結果がすぐに見たいので毎分(Every Minute)を選択します。 n8nのCronノード設定画面
最後にタイムゾーンの設定を確認します。
左のメニューのWorkflowからSettingsをクリックしてください。 n8nアプリのワークフローの詳細メニュー

Tokyo以外が設定されている場合はTokyoを選択してSaveで設定を保存します。 n8nアプリのワークフローのSettings画面

Step3. ニュース記事を取得

次にHacker NewsノードでHacker Newsサイトのニュース記事を取得します。


Cronノードの右の+ボタンを押してノードの新規追加を行います。 n8nのCronノード
検索に「news」と入力し、検索結果にあるHacker Newsを選択します。 n8nの新規ノード追加画面でnewsで検索した結果
設定画面が開かれるので左のParametersの内容を設定します。

  • Resource:All
  • Limit:1

※複数件をファイルに書き込む場合は別のノードも使った処理が必要なので今回は1件で行います。

設定ができたら「Execute Node」ボタンをクリックして実行してみます。
実行が成功し、右側に取得結果が表示されました。 n8nのHacker Newsノード設定画面

Step4. 取得したデータをバイナリ形式に変換

HackerNewsはJSONという形式で取得されます。
ファイルの書き込みはBinary(バイナリ)というデータ形式で書き込みを行うため、
「news記事を取得→取得したデータをバイナリに変換→ファイルに書き込み」という手順が必要になります。
まず取得したnewsデータをバイナリデータに変換するためMove Binary Dataノードを設定していきます。


Hacker Newsの右にある+マークをクリックし新規ノードを追加します。 n8nのワークフロー、CronノードとHacker Newsノード
検索に「binary」と入力し、検索結果にあるMove Binary Dataを選択します。 n8nの新規ノード追加画面でbinaryで検索した結果
設定画面が開かれるので左のParametersの内容を設定します。

  • Mode:JSON to Binary
  • Limit:1


設定ができたら「Execute Node」ボタンをクリックして実行してみます。

実行が成功し、右側に取得結果が表示されました。 Binaryに表示を切り替えると取得できていることが確認できます。

Show Binary Dataボタンを押すと取得内容が確認できるので見てみましょう。 n8nのMove Binary Dataノード設定画面
Hacker Newsノードで取得した内容がバイナリに変換されても問題なく設定されていることがわかります。

見た目はHacker Newsノードで取得したJSON形式と同じようですが、バイナリ形式に変換できました。 n8nのMove Binary Dataノード設定画面

Step5. バイナリ形式のデータをファイルに書き込む

自動実行した結果を自分のパソコンにあるファイルに書き込みを行うようにします。


まず書き込むファイルを用意します。

今回はデスクトップに新規でファイルを作成しそのファイルに取得したニュース記事を書き込みたいと思います。

n8nというフォルダを作って中にtest.txtというファイルを作ります。 ローカルに作ったn8n/test.txtファイル
n8nのワークフロー作成画面に戻って、ファイルへの書き込みのためにWrite Binary Fileノードを追加します。


Move Binary Dataノードの右の+マークから新規ノードを追加します。 n8nのMove Binary Dataノード
検索に「binary」と入力して、Write Binary Fileノードを選択します。 n8nの新規ノード追加画面でbinaryで検索した結果
先ほど作成したtest.txtのパスを取得します。

パスはこのようになると思います。

「C:\Users\ご自身のユーザー名\Desktop\n8n\test.txt」

※環境により「\」が「/(バックスラッシュ)」になると思いますが、どちらでも問題ありません。

開かれた設定画面のParametersの内容を設定します。

  • File Name:C:\Users\ご自身のユーザー名\Desktop\n8n\test.txt


設定ができたら「Execute Node」ボタンをクリックして実行してみます。 n8nのWrite Binary Fileノード設定画面
実行が成功したのでファイルの中身を見てみます。

取得した内容が書き込まれています。 ローカルに作ったn8n/test.txtファイル
確認できたら、自動実行で書き込まれることも見たいのでファイルの中身を削除しておきましょう。 ローカルに作ったn8n/test.txtファイル
これでフローの作成は終了です。 n8nで作成した指定した時間にニュースサイトから記事を取得しファイルに書き込んでみるワークフロー

Step6. 自動実行を動かしてみる

自動実行するためにはワークフローがアクティブな状態でなければいけません。
右上のActiveボタンを有効にします。 n8nのActiveボタン
有効にすると説明が表示されます。

ワークフローがアクティブ化された通知と、cronノードが自動で実行されるというような内容が書かれています。

Got itボタンを押して完了します。 n8nのActive時の表示
自動実行の時間を1分にしているので時間を待ってtest.txtを開くと書き込まれていることが確認できます。

1分ごとに書き込みを実行するのでもう1度消しても同じように書き込まれます。 ローカルに作ったn8n/test.txtファイル
これで、

「指定した時間にニュースサイトから記事を取得しファイルに書き込む」

というワークフローがすべて完成です。

最後に

いかがだったでしょうか?

定期的に自動で実行したり、自分のパソコンのファイルに書き込むというのは、業務に落とし込んでも応用して使えそうな機能かと思います。

例えばこのワークフローの応用で、メールでも通知させるようにしたりすれば、毎日サイトに訪問して閲覧していた内容を自動的に届けさせるというようなことも出来ます。

色々と応用して使って頂ければと思います。

あなたのデジタル化も
掲載しませんか?

Google Formで入力する