はじめに
現在、情報の流れは非常に速く、最新のニュースを取得し記事にするのは大変な作業です。しかし、Googleスプレッドシートとスクレイピング技術を組み合わせることで、これらの作業を自動化することができます。ここでは、ヤフーニュースのタイトルをスクレイピングしてスプレッドシートに取得し、それを基にワードプレスの記事を作成する方法を紹介します。
1. スプレッドシートの準備
まず、Googleスプレッドシートを開き、新しいシートを作成します。このシートには、スクレイピング結果を格納するための列を用意します。例えば、以下のような列を作成します。
- A列: タイトル
- B列: URL
2. スクリプトの作成
スプレッドシート内でスクリプトを作成するために、メニューから「拡張機能」>「Apps Script」を選択します。新しいプロジェクトが開きます。
3. スクリプトの記述
以下のスクリプトをコピーして、Apps Scriptエディタに貼り付けます。このスクリプトは、ヤフーニュースのページからタイトルとURLを抽出します。
function scrapeYahooNews() {
var url = 'https://news.yahoo.co.jp/';
var response = UrlFetchApp.fetch(url);
var html = response.getContentText();
// ページ内のニュースタイトルとURLを抽出
var titles = html.match(/<h3 class="sc-1m2tg68-0 cMZsPf"><a href="([^"]+)">([^<]+)<\/a>/g);
if (titles) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear(); // シートをクリア
// タイトルとURLをスプレッドシートに書き込む
for (var i = 0; i < titles.length; i++) {
var match = titles[i].match(/<h3 class="sc-1m2tg68-0 cMZsPf"><a href="([^"]+)">([^<]+)<\/a>/);
if (match) {
var url = match[1];
var title = match[2];
sheet.appendRow([title, url]);
}
}
}
}
4. スクリプトの実行
スクリプトを保存した後、メニューから「実行」>「scrapeYahooNews」を選択してスクリプトを実行します。最初に実行する際は、Googleアカウントの認証が求められますので、必要な権限を許可してください。
5. 結果の確認
スクリプトが正常に実行されると、スプレッドシートのA列とB列にヤフーニュースのタイトルとURLが表示されます。
6. ワードプレスへの転載
スプレッドシートから抽出した情報をワードプレスの記事に転載するには、以下の手順を踏みます。
- スプレッドシートからデータをコピーします。
- ワードプレスの管理画面にログインし、新しい記事を作成します。
- コピーしたデータを記事本文に貼り付けます。
- 記事を公開します。
簡単な裏技2つ
- スケジュール設定: スプレッドシートのスクレイピングを定期的に実行するには、Google Apps Scriptのトリガー機能を使用します。メニューから「編集」>「現在のプロジェクトのトリガー」を選択し、新しいトリガーを作成します。ここでは、特定の時間にスクリプトを実行するように設定できます。例えば、毎日午前9時に実行するように設定すると、毎日最新のニュースが自動的に取得されます。
- 複数のニュースサイトからのスクレイピング: 1つのスクリプトで複数のニュースサイトから情報を取得することも可能です。スクリプトを修正して、複数のURLからデータを抽出し、スプレッドシートにまとめるようにします。例えば、ヤフーニュースとGoogleニュースからタイトルとURLを取得するように修正します。javascript
function scrapeMultipleNewsSites() { var urls = [ 'https://news.yahoo.co.jp/', 'https://news.google.com/' ]; var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); sheet.clear(); // シートをクリア for (var i = 0; i < urls.length; i++) { var url = urls[i]; var response = UrlFetchApp.fetch(url); var html = response.getContentText(); // ページ内のニュースタイトルとURLを抽出 var titles = html.match(/<h3 class="sc-1m2tg68-0 cMZsPf"><a href="([^"]+)">([^<]+)<\/a>/g); if (titles) { for (var j = 0; j < titles.length; j++) { var match = titles[j].match(/<h3 class="sc-1m2tg68-0 cMZsPf"><a href="([^"]+)">([^<]+)<\/a>/); if (match) { var url = match[1]; var title = match[2]; sheet.appendRow([title, url]); } } } } }
以上が、スプレッドシートでスクレイピングを行い、ヤフーのニュースのタイトルを抽出してワードプレスの記事に転載する方法と、簡単な裏技2つです。これで、最新のニュースを簡単に取得して記事にすることができます。