Usage - horihorikeitaa/suumo-scaper GitHub Wiki
SUUMO Scraper の使い方
このドキュメントでは、SUUMO Scraper アプリケーションの使い方について説明します。
目次
概要
SUUMO Scraper は、SUUMO ウェブサイトから不動産情報をスクレイピングし、Google Spreadsheet に保存するツールです。 Google Cloud Run 上でホストされ、Google Apps Script(GAS)から HTTP リクエストで実行できます。
Google Spreadsheets 連携
スプレッドシートの準備
- 新しい Google Spreadsheet を作成するか、既存のシートを使用します
- 以下のシートを作成します:
物件情報
シート:スクレイピングした物件情報を保存するメインシートmain
シート:新規 URL を入力する管理用シート
物件情報シートの構成
物件情報シートには以下のカラムを設定します:
- #(通し番号)
- URL
- 物件 ID
- 物件名
- 住所
- アクセス
- 家賃
- 管理費・共益費
- 敷金
- 礼金
- 間取り
- 専有面積
- 向き
- 建物種別
- 築年数
- 間取り詳細
- 構造
- 階数
- 入居
- 条件
- 周辺情報
- 情報更新日
- 更新日時
main シートの構成
main シートには B9:B18 の範囲に新規追加したい SUUMO 物件の URL を入力できるようにします。
利用可能な機能
SUUMO Scraper では以下の機能が利用できます:
1. 新規物件の追加
main シートに入力された URL の物件情報を取得し、物件情報シートに新規追加します。 既に登録済みの URL は無視されます。
2. 全物件情報の更新
物件情報シートに登録されている全物件の情報を最新の状態に更新します。 URL ごとに再スクレイピングを行い、最新情報に更新します。
Google Apps Script 設定
1. スプレッドシートにスクリプトを追加
- スプレッドシートの「拡張機能」→「Apps Script」を選択
- 以下のコードを新しいスクリプトファイルに追加します:
function callSuumoScraper(mode) {
// Cloud RunのURL(デプロイ時に表示されたURL)
const url = "https://suumo-scraper-xxx-an.a.run.app"; // ← 実際のURLに置き換える
const options = {
method: "post",
contentType: "application/json",
payload: JSON.stringify({
mode: mode, // 'new_only' または 'full_update'
}),
muteHttpExceptions: true,
};
try {
const response = UrlFetchApp.fetch(url, options);
const result = JSON.parse(response.getContentText());
return result;
} catch (e) {
console.error("エラーが発生しました: " + e.toString());
return { status: "error", error_message: e.toString() };
}
}
// 新規物件追加ボタン用の関数
function addNewProperties() {
return callSuumoScraper("new_only");
}
// 全物件更新ボタン用の関数
function updateAllProperties() {
return callSuumoScraper("full_update");
}
2. ボタンの追加
- スプレッドシートに「新規追加」「全更新」ボタンを追加します:
- 「挿入」→「描画」を選択
- ボタンを描画
- ボタンを右クリックして「スクリプトを割り当て」を選択
- 「新規追加」ボタンには
addNewProperties
関数を割り当て - 「全更新」ボタンには
updateAllProperties
関数を割り当て
実行と結果確認
新規物件の追加手順
- main シートの B9:B18 範囲に新規 URL を入力
- 「新規追加」ボタンをクリック
- 処理が完了するまで待機(数十秒〜数分)
- 物件情報シートに新しい行が追加されていることを確認
全物件更新手順
- 「全更新」ボタンをクリック
- 処理が完了するまで待機(物件数によっては数分かかる場合あり)
- 物件情報シートの内容が更新されていることを確認
注意事項
- 処理時間はスクレイピングする物件数によって変動します
- 同時に多数の URL を処理すると、SUUMO サイトへの負荷が高まる可能性があります
- 大量の物件を一度に更新する場合は、処理時間が長くなり、タイムアウトする可能性があります