TypeScriptで書かれたBooth用の非公式スクレイピングライブラリです。Boothの利用規約に抵触しない範囲でご自由に利用ください。
import { BoothMate } from 'boothmate';
const client = new BoothMate({
sessionToken: 'your_session_token',
csrfToken: 'your_csrf_token'
});
// もしくはトークンを省略して初期化も可能です
// const client = new BoothMate();
このライブラリでは,セッショントークンやCSRFトークンを省略することもできます。トークンを指定した場合はログイン状態でのAPI操作が可能になり,省略した場合は公開データのみ取得できます。トークンの取得方法については,オプション・設定をご覧ください。
// 商品検索
const searchResult = await client.item.search('VRChat', {
category: Category.THREE_D_MODEL,
min_price: 0,
max_price: 5000,
});
console.log(`検索結果: ${searchResult.total_items}件`);
searchResult.items.forEach((item) => {
console.log(`- ${item.name}: ¥${item.min_price}`);
});
// 特定の商品の詳細を取得
const item = await client.item.get(123456);
console.log(item.description);
// ショップ情報の取得
const shop = await client.shop.get('vrcalphabet');
console.log(`ショップ名: ${shop.name}`);
// ショップの商品一覧の取得
const shopItems = await client.shop.getItems('vrcalphabet');
// 作成したウィッシュリスト一覧取得
const wishlists = await client.wishlist.getNames();
console.log(`ウィッシュリスト数: ${wishlists.length}`);
// ウィッシュリスト内の商品一覧を取得
const wishlistItems = await client.wishlist.getItems('pQ9TlbPV');
console.log(`アイテム数: ${wishlistItems.total_items}`);
// 商品をウィッシュリストに追加
await client.wishlist.addItem('pQ9TlbPV', 123456);
// ウィッシュリストから商品を削除
await client.wishlist.removeItem('pQ9TlbPV', 123456);
ここで紹介したAPIは,ほんの一部にしかすぎません。API一覧は,ドキュメンテーションやサンプルをご覧ください。
コードの書き方でお困りですか?AIにご相談ください!
npm install boothmate
yarn add boothmate
pnpm add boothmate
セッショントークン (Cookie _plaza_session_nktz7u の値):
CSRFトークン:
<meta name="csrf-token" content="...">を探してcontentの値を取得document.querySelector('meta[name="csrf-token"]').contentを実行して取得デバッグモードを有効にするには,オプションのdebugにtrueを指定します。
const client = new BoothMate({ debug: true }); // デバッグモード有効
デバッグモードを有効にすると、HTTPリクエストの詳細がコンソールに出力されます(例)。
200 GET https://alphahub.booth.pm/items?page=1 (224ms)
200 GET https://accounts.booth.pm/wish_lists.json?item_ids%5B%5D=6794919 (132ms)
プロジェクトへの貢献を歓迎します!以下のルールに従うと,あなたの貢献がスムーズになります!
Issueを立てる際は,バグ報告・機能要望のどちらかを明記してください。 PRの説明には,目的・変更点・影響範囲・サンプルコードがあるとありがたいです。
MIT License
詳細はLICENSEファイルを参照してください。
あるふぁべっと (vrcalphabet) - プロジェクト作成者・メンテナー
注意: このライブラリは非公式です。Booth.pmの利用規約(サービス共通利用規約, Booth利用規約)を遵守してご利用ください。また,各APIは1秒以上ごとに実行するなどしてBoothのサーバに負荷が掛からないように配慮してください。