VIYV-SCRAPER

LLM が recipe を書く・実行する汎用スクレイピング基盤

URL を渡す。AI が取得レシピを書く。

画面を解析して recipe を自動生成し、実行して構造化データを Postgres に保存。Claude Code / Desktop / Codex からMCP で操作できます。

recipe
ajax / dom / inline
storage
local Postgres
freshness
DB lookup, 0 token

手書きのスクレイパーを、AI が書く recipe に置き換える

セレクタの保守も、表示値の誤読も、コストの垂れ流しも。従来のスクレイピングの 痛点を、recipe・AJAX 優先・カタログ層・Freshness の 4 つで構造的に解きます。

対象ページから取得フィールドと recipe を組み立てる流れ

AI が recipe を書く

画面解析からプラン生成まで自動

対象ページを解析し、SmBundle / DomPlan / AjaxPlan を自動生成。人手で XPath や CSS セレクタを書いて保守する作業から解放されます。生成された recipe は版管理され、再利用できます。

ネットワーク API から JSON と構造化行を取得する流れ

AJAX 優先で正確

API を直叩きしてハルシネーションを排除

ネットワークリクエストを観測して構造化 JSON エンドポイントを発見し、最優先で直接取得します。DOM の「計算済み表示値」を誤読する典型的なハルシネーションを構造的に防ぎます。

カテゴリと URL を recipe に紐づけるカタログ構造

カタログ層

商品名・条件から取得対象を解決

「商品名と取得条件」から具体的な取得対象 URL と recipe を引く独立レイヤー。サイト導線のスナップショットと合わせ、カテゴリ単位の一括取得の起点になります。

取得済みデータをキャッシュし DB lookup で返す流れ

Freshness / DB-first

取得済みなら 0 トークンで即応

full crawl 済みのデータは DB lookup で即時・ゼロコスト応答。価格変動の頻度に合わせて再取得間隔を設定でき、無駄なライブスクレイプを抑えます。

3 ステップで動き出す

Mac アプリが Postgres と MCP ヘルパーの面倒を見ます。あなたは AI クライアントに URL を渡すだけです。

01

Mac アプリをインストール

menubar アプリが Postgres (Docker) と MCP ヘルパーを監視・起動します。Bun ランタイムは同梱、ターゲット環境に node / bun は不要です。

02

AI クライアントに接続

Claude Code / Desktop / Codex CLI に MCP エントリをワンクリックで登録。接続は固定の loopback URL 経由で、DB 接続情報はクライアント設定に持ち込みません。

03

URL を渡すだけ

取得したい URL と意図を伝えると、AI が recipe を生成・実行し、結果を返します。データは同時にローカル Postgres へ構造化保存されます。

Mac 上のローカルヘルパーが MCP と Postgres を接続する構成
Claude Code
> この URL の価格表を取って: https://example.com/products/123
 → recipe を生成 (ajax plan, 2 LoopVariable)
 → scrape_run … 48 rows / saved to Postgres
 freshness: marked full_crawl · refresh 168h

前提コンポーネント

取得を実際に動かすのは viyv-browser

viyv-scraper は recipe を書き、結果を保存する頭脳です。ページを開いて操作・観測する手足は、同じ Mac 上で動く viyv-browser が担います。だから viyv-browser はオプションではなく前提です。

  • inline / dom 実行はどちらも viyv-browser MCP 経由で動く(無いと recipe を実行できない)
  • ログイン後ろのページ・会員価格・管理画面など、認証が要る取得は viyv-browser のセッションが前提
  • 公開 JSON API を ajax で直叩きするケースだけが唯一の例外

ログイン済みの実ブラウザをそのまま使える

普段使っているログイン状態のセッションを再利用。会員限定の価格や管理画面の中身まで、認証を作り込まずに取得できます。

ゼロ設定で自動連携・無料

同じ BrainFiber 製の Mac アプリ。インストールすれば認証情報をキーチェーン経由で自動共有し、URL やトークンの手設定なしに繋がります。

実ブラウザだから取りこぼさない

JS で描画される動的ページも、実ブラウザで描画してから観測。DOM の計算済み表示値の誤読を避け、drift 時の再観測も安定します。

ローカル完結・LLM 中立

操作はすべてあなたの Mac 上。クラウドに画面やセッションを送りません。MCP 経由なので利用する AI クライアントも自由に選べます。

使いどころ

多軸の価格表、カタログ収集、定期再取得。recipe 化すれば、対象が増えても コストは積み上がりません。

価格テーブルを時系列チャートとローカル DB に保存する流れ
価格モニタリング

価格の定点観測

対象ページの価格を recipe 化して定期取得し、変動を時系列で記録。AJAX 直叩きで表示値の誤読を避け、正確な数値を構造化して保存します。

商品カテゴリの URL と recipe をまとめて収集する流れ
データ収集

商品カタログの収集

サイトの導線 (ナビ / footer 等) を辿ってカテゴリ配下の商品 URL を発見し、catalog_group として記録。member ごとに recipe を作り、一括で取得します。

Mac 上のローカルヘルパーと Postgres を MCP で接続する構成
運用オペレーション

在庫・掲載状況の追跡

active 化した recipe を定期実行し、価格・在庫・掲載状況の変化を追跡。Freshness 設定で再取得頻度を制御し、コストと鮮度のバランスを取ります。

料金

個人・評価利用は無料です。

個人 / 評価

無料/ ローカル完結
  • recipe の生成・実行・保存をすべてローカルで
  • Claude Code / Desktop / Codex への MCP 登録
  • Sparkle による自動アップデート
ダウンロード

FAQ

どんなサイト / データを取得できますか?+

静的 HTML、DOM 駆動の動的ページ、AJAX (構造化 JSON API) のいずれにも対応します。recipe-author が画面を解析して最適な実行戦略 (inline / dom / ajax) を選び、再利用可能な recipe として保存します。

どの AI クライアントから使えますか?+

MCP (Model Context Protocol) 対応の任意のクライアントから使えます。Mac アプリが Claude Code / Claude Desktop / Codex CLI への MCP 登録を代行します。HTTP MCP エンドポイントは固定の loopback URL で提供されます。

取得したデータはどこに保存されますか?+

あなたの Mac 上のローカル Postgres (Docker、pgvector 同梱) に構造化保存されます。クラウドへの自動送信はありません。接続先 DB はアプリの設定画面から変更でき、変更は各ヘルパーへ透過的に伝播します。

recipe のメンテナンスは必要ですか?+

サイト構造が変わって locator が解決位置を変える「drift」を検知し、rebind 候補を提示します。再生成は AI に任せられるため、従来の手書きスクレイパーのような継続的な保守コストを抑えられます。

viyv-browser は必要ですか?+

はい、多くの取得で必要です。viyv-scraper 自身は実ブラウザを持たず、画面の操作・観測は同じ Mac 上で動く viyv-browser MCP に委譲します。inline 実行 (semantic 定義) と dom 実行 (DOM 駆動) はどちらも viyv-browser が必須です。viyv-browser 無しで動くのは、公開された構造化 JSON API を ajax で直叩きするケースのみです。ログイン済みセッションを使った取得にも viyv-browser を利用します。viyv-browser も Mac アプリとして配布しているので、ダウンロードページから入手してください。

料金体系は?+

個人 / 評価利用は無料です。