見出し画像

【毎日3クリックだけ】最新ニュースの記事を大量生成&自動投稿する方法

こんにちは、マゼンチュアです。

最新ニュースのブログ記事を書くのって結構大変じゃないですか。

・ニュース記事を読む

・要約または追加情報を調べる

・記事を書く

・投稿する・・・

ということを毎日するのって結構大変ですよね・・・。

僕も昔は毎日最新ニュースの記事を投稿してました。

ですが、今は全部自動化して、最新ニュースの記事が自動的に毎日5記事ほど投稿されています。

しかも作業自体は、3回クリックするだけです。(事前準備完了後)

そのため、最新情報のニュースを毎日簡単に投稿できています。

今回は、最新ニュースの記事をたった数回のクリックだけで、大量生成&投稿される方法をご紹介します。

具体的には、

・毎日特定の時間にGoogleアラートで最新記事を転記(1クリック)

・記事内容をColabで要約(1クリック)

・記事内容を自動でWordpressに投稿(1クリック)

といった形で、事前準備が完了してから、トータル3クリックだけで、毎日最新ニュースの記事を投稿できます。

なお、途中でプログラミングの話が出てきますが、基本的にはプログラミングの知識は必要ありません。

実際に私もプログラミングの知識はほぼありませんが、ChatGPTに聞いた通りに実施したところ、ちゃんと動かすことができました。

そのため、プログラミング経験がなくても大丈夫です。

先に本記事を読むと、以下のことができるようになります。

・最新ニュースの記事が自動的に生成される

・1日3クリックだけで最新記事が生成&Wordpressに記事が自動投稿される

必要なのは、以下の4つです。

・PC

・GoogleスプレッドシートなどのGoogleサービス

・OpenAIのAPI

・Wordpress


早速ですが、方法を解説していきます。


Googleアラートを設定する


情報源のメディアを選ぶ

Googleアラートとは、特定のキーワードやサイトを自動で収集してくれるサービスです。

収集するキーワードやサイトを指定しておくと、自動的に記事をメールで配信してくれます。

これにより、自分が記事を作成するときに参照しているメディアの記事収集を自動化することができます。


まずは、情報源となるニュースサイトを選んでください。

Yahooニュースなどではなく特定のメディアを選ぶことが必要です。

ここでは、サンプルとして、仮想通貨の大手メディアであるコインポスト(https://coinpost.jp/)を使います。


サイト名で登録する

Googleアラートを開きます。

空欄BOXに、以下の通りにサイトURLを入れます。

site:https://coinpost.jp/

「site:」のあとに情報源となるメディアをいれてください。

そして、配信頻度だけ「1日に1回以下」にして、それ以外はデフォルトのまま、「アラートを更新」を押して保存します。


配信時間を設定する

HOME画面に戻り、作成したアラートを確認します。

歯車ロゴの設定を開いて、配信時間を指定します。

配信時間は自分が記事を投稿したい時間にするとよいでしょう。


Googleアラートを飛ばす

設定してみると、配信時間の3分~5分後くらいに、「Googleアラート」という件名のメールがログインしたGoogleのメールアドレスに届きます。

配信元は「googlealerts-noreply@google.com」になります。

ここまでできれば、Googleアラートの設定は完了です。


Googleクラウドを設定する



次はGoogleクラウドの設定をします。

Googleクラウドとは、Googleが提供するクラウドサービスです。

ここではGoogleスプレッドシートとGoogleドライブの自動操作に必要な、APIの設定をします。

ちょっと複雑かもしれませんが、プログラミングの知識などはなくでも大丈夫です。

1つ1つ画像付きで説明するので、手順通りに進めてみてください。


Googleクラウドにログインする



まずはGoogleクラウドにログインしてください。

(この時、この後作成するGoogleスプレッドシートのGoogleアカウントと同じGoogleアカウントを利用してください)

ログインしたら、左のメニューバーの「APIのサービス」>「有効なAPIとサービス」を選択します。


GoogleスプレッドシートAPIを有効にする

まずGoogleスプレッドシートAPIを有効にします。

一番上の空欄ボックスに「スプレッドシート」と入力します。

Googleスプレッドシートのロゴが出てくるので、「有効にする」をタップします。

GoogleドライブAPIを有効にする

同じくGoogleドライブのAPIを有効にします。

一番上の空欄ボックスに「ドライブ」と入力します。

Googleドライブののロゴが出てくるので、「APIを有効化する」をタップします。


GoogleスプレッドシートAPIの認証キーを作成する


次はGoogleスプレッドシートのAPIの認証キーをダウンロードします。

左メニューバーの「認証情報」を選択します。

「認証情報を作成」ボタンを押します。

「サービスアカウント」を選択します。


以下の画面が出るので、情報を入力します。

任意のテキスト(例:wordprss)で、サービスIDアカウントだけ入力して「作成して続行」を押します。


STEP2~3はスキップして「完了」ボタンを押します。

Google Spread SheetのAPI画面に戻るので、一番下のサービスアカウントを見ます。

先ほど作成した認証情報に紐づくサービスアカウントが生成されているはずです。


「wordpress」で作成したので、アカウント名の冒頭に「wordpress」と記載されています。

こちらのアカウントを選択してタップします。


サービスアカウントのページに移動するので、上のメニューバーの「キー」を選択します。


「鍵を追加」を押して、「新しい鍵」を選択します。

キーのタイプは「JSON」を選択し、「作成」を押します。

するとPCにJSONファイルがダウンロードされます。

このJSONファイルは絶対に他人に公開することはしないでください。

このJSONファイルは重要なアクセス情報が載っているので、絶対に外部に公開や共有しないようにして下さい。


Googleクラウドに認証キーを格納する


ダウンロードしたJSONファイルを、Googleクラウドのマイドライブにアップロードします。

マイドライブを開いて、そのままアップロードして下さい。(特段ファイルを作る必要はありません。)

アップロードが完了して、マイドライブにJSONファイルが格納されればOKです。

GoogleクラウドAPIを有効化する

GoogleSpreadSheetのAPI有効化と同様に、GoogleクラウドのAPIを有効化します。

Googleクラウドに戻り、左のサイドメニュー>「APIとサービス」>「有効なAPIとサービス」>画面上の「ENABLES APIS AND SERVICES」を選択します。

少し下にスクロールして、「Google Drive API」を選択し、「有効にする」ボタンを押します。

これでAPIの有効化は完了です。


Googleスプレッドシートを設定する

添付のスプレッドシートを使って記事を作成します。

▼記事作成用シート

https://docs.google.com/spreadsheets/d/1YSTOXFWLoJu5p6qun9KSxbtNSqu1322mXoRHEYw-SYQ/edit?usp=sharing

・上記シートを全てコピーまたはExcel形式でダウンロード

・GoogleDriveの、マイドライブで新規>googleスプレッドシートを作成

・コピーした内容を貼り付け、またはダウンロードしたExcelをインポート

基本的にこちらのシートを使って作業をします。


この時、ファイル名を必ず「AI」にしておいてください。


他は変更する必要はないので、極力Sheetの中はいじらないでください。


Googleスプレッドシートの共有にGoogleクラウドのメールを登録する

Googleスプレッドシートシートに、Pythonコードがアクセスできるように、権限設定をします。

Googleクラウドに戻ります。

サービスアカウントの中から、先ほど作成したメールアドレスをコピーします。

Googleスプレッドシートに戻り、右上の「共有」を開き、コピーしたメールアドレスを共有先メールアドレス(編集者権限)で追加します。

この共有をし忘れると、Google Spread Sheetにアクセスできないので、忘れずに実施して下さい。



GASコードを準備する

Gooogleアラートを収集するGASコードを設定する

次はGASコードを設定します。

Googleスプレッドシートを開いたら、メニューバーの拡張機能>

>GoogleAppsScriptをタップします。

GASの画面が開いたら、画面上のコードを全て消して、そこに以下のGASコードをそのまま貼り付けます。

こちらのコードは、最新のGoogleアラートのメールを検索し、メール内にあるメールアドレスをシートに出力するコードです。

GAS名:googlealert

function googlealert() {
  let query = 'from:googlealerts-noreply@google.com'; // Google アラートからのメールを検索
  let gmailData = getGmail(query);


  if (gmailData.length > 0) {
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("1");
    let lastRow = sheet.getLastRow();
    let extractedUrls = gmailData.map(function(row) {
      let extractedUrl = extractUrl(row[1]);
      return [row[0], row[1], extractedUrl];
    });


    sheet.getRange(lastRow + 1, 1, extractedUrls.length, 3).setValues(extractedUrls);
  }


}


function extractUrl(url) {
  let match = url.match(/t&url=([^&]+)/);
  return match ? decodeURIComponent(match[1]) : url;
}


function getGmail(query) {
  let array = [];
  let threads = GmailApp.search(query, 0, 1); // 最新1通のメールを検索


  threads.forEach(function(thread) {
    let messages = thread.getMessages();


    messages.forEach(function(message) {
      let date = Utilities.formatDate(message.getDate(), 'Asia/Tokyo', 'yyyy/MM/dd');
      let plainBody = message.getPlainBody();


      // URLの抽出
      let urls = plainBody.match(/https:\/\/www\.google\.com\/url\?rct=j&sa=t&url=[^&]+/g);
      if (urls) {
        urls.forEach(function(url) {
          array.push([date, url]);
        });
      }
    });
  });


  return array;


}

保存ボタンを押して保存したら、再生「▶」ボタンを押します。

ポップアップが表示されますが、承認ボタンを押します。

次のページでエラーページが出た場合は、「詳細」>「安全でないページへ遷移」を押して、アクセス権限を与えます。

GPTでスクレイピング内容を整理するGASコードを設定する

同じくもう1つGASコードを設定します。

左メニューバーの「+」ボタンを押します。

writeGPT」と名前を入れて、新規ファイルができたら、デフォルトの記載内容を全て消して、そこに以下のGASコードを入力します。

GAS名:writeGPT

なお、「const API_KEY = "XXX";」のXXXの部分に、OpenAIのAPI(sk-...)を必ず入力してください。

ここから先は

8,804字 / 17画像

¥ 400

この記事が気に入ったらサポートをしてみませんか?