コンテンツにスキップ

データとストレージ

Guida のデータ API は、抽出した情報をワークスペース内に残す場合にも、外部ストレージへ送る場合にも使えます。

g.store.* - ワークスペースストア

Section titled “g.store.* - ワークスペースストア”

ワークスペースストアは、スクリプトから使えるローカル永続ストアです。

メソッド説明
g.store.putキー付きで値を保存します
g.store.getキーから値を取得します
g.store.search保存済みデータを検索します
g.store.delete値を削除します
g.store.put("pages", "example", {
url: await g.page.getUrl(),
});

キューは、URL やレコードを複数タブ・複数ワーカーで処理するための作業リストです。

メソッド説明
g.queue.enqueueキューに項目を追加します
g.queue.dequeue処理用に項目をチェックアウトします
g.queue.commitチェックアウトした項目を完了にします
g.queue.abortチェックアウトした項目を失敗または再試行へ戻します
g.queue.countキュー件数を取得します

commitabort では、キュー名ではなくチェックアウト ID を渡します。

const item = g.queue.dequeue("urls");
if (item) {
try {
await g.nav.navigateToUrl(item.data.url);
await g.dom.waitForDomStable();
g.queue.commit(item.id);
} catch (e) {
g.queue.abort(item.id, e.message);
}
}

ワークスペース内の検索インデックスへ、抽出結果やメモを登録できます。

メソッド説明
g.search.indexドキュメントをインデックス化します
g.search.query全文検索を実行します
g.search.deleteインデックスから削除します

外部データベースとストレージ

Section titled “外部データベースとストレージ”

Guida は、ワークスペース内のローカルデータだけでなく外部ストレージにも書き込めます。

名前空間用途
g.postgres.*PostgreSQL クエリと更新
g.mongodb.*MongoDB コレクション操作
g.s3.*S3 互換オブジェクトストレージ
g.elasticsearch.*Elasticsearch の登録と検索

接続情報は認証情報に保存し、必要なときだけスクリプトから取り出すのが基本です。詳しくはデータベース連携を参照してください。