Kansoku
English日本語简体中文

仕組み

何のための道具か、なぜ自分では調べられないのか、そして毎朝どんな形で届くのか。仕組みそのものの説明は、そのあとに置いています。

「ウェブから情報を取ってくる」と言うと簡単に聞こえますが、難しいのは取ることではなく、取れた数字が信用できることです。 順に説明します。

一言でいうと

「この商品、いまどの会社が、いくらで売っているか」を、毎朝、証拠つきでお出しします。

「だいたい12万円です」ではありません。A社が¥118,000、B社が¥134,800、C社が¥109,500、それぞれのページはここ、読んだのは今朝6時、為替はこのレート ―― という形です。

なぜ「だいたい」では困るのか

値段を調べたい、という相談はよくあります。けれど返ってくる答えのほとんどは 「相場」です。

相場は正しい数字です。ただ、それでは何も決められません。

「だいたい12万円」は、この3つのどれにも答えていません。

なぜ自分で見に行けないのか

見に行けます。1回なら。

問題は2つあります。

① 100商品 × 5サイトを毎朝見るのは、人の仕事ではありません

500回ページを開いて、値段を写して、昨日と比べる。1日で終わりません。そして毎日やらないと意味がありません ―― 昨日いくらだったかは、記録していなければ二度と手に入らないからです。

② 自分の国からは、自分の国の値段しか見えません

これが一番伝わりにくいところなので、丁寧に書きます。

同じURLを開いても、どこからアクセスしたかで、ページは違う内容を返します。 値段が違う。通貨が違う。在庫の有無が違う。並び順も、送料も、キャンペーンも違います。

これは何かの仕掛けではなく、ごく普通のことです。 日本から来た人には日本向けの値段を出す ―― お店として当たり前の作りです。

つまり、東京のパソコンから競合のサイトを見ても、その競合がドイツの客に見せている値段は、永久に見えません。

私たちは指定された国のサーバーを経由してページを開きます。同じページを複数の国から同時に読んで、並べてお出しできます。

「ChatGPTに聞けばいいのでは」への答え

よく聞かれます。実際に試したので、その結果をお見せします。

対話型AIに聞いた「両市場はほぼ同水準です」
同じ日・同じ商品を実測米国市場は日本より17%上

面白いのはここからです。AIが挙げた2つの数字は、どちらも実在する正しい値でした。 片方は買取価格、もう片方は市場指数です。

性質のまったく違う2つを並べて引き算していて、回答のどこにも、その区別は書かれていませんでした。 この違いだけで、差の符号が反転します。

これはAIの出来の問題ではありません。5つとも、聞き方では埋まりません。

  1. 返ってくるのは「相場」で、「売主」ではない ―― 正しい答えですが、動くための答えではありません
  2. 自分の国からしか見えない ―― 「サンパウロから見て」と頼めるプロンプトは存在しません
  3. その数字がどこから来たか言わない ―― だから間違いに気づけません
  4. 「昨日」を持っていない ―― 誰も保存していないので、後から買うこともできません
  5. 毎回、違う答えが返る ―― 先週の資料と今週の資料が比較できません

AIへの批判ではなく、AIが何のためのものかという説明です。 特定のページを、特定の国から、特定の時刻に読み、その記録を残す ―― それは別の仕事です。

毎朝、届くもの

1行につき、これだけが付いてきます。

販売者掲載ページに出ていた出品者を、そのまま
価格(税抜)¥118,000
前回との差−¥4,200
自社比+8.6%
読んだ国どの国のサーバーを経由したか
掲載URL実際に読み取ったページ
取得時刻2026-08-22T02:20:04.756Z
為替レート適用したレートと、そのレート自体の公表日

この項目は切り離せません。 別料金でもオプションでもなく、必ず全部付きます。

理由は1つです ―― 出どころの無い価格は、会議で守れないから。 「競合は10万円です」と報告して「どこ情報?」「いつの?」「税込? 税抜?」と聞かれて答えられなければ、その資料は使われません。

届き方は4つあります。画面(今朝の表)、CSV毎朝のメールWebhook

一番地味で、一番効くところ

競合サイトを毎日見に行っているとします。ある朝、そのサイトが改装されて、こちらの読み取りが失敗しました。返ってくるデータは「0件」です。

素朴に作ると、こう報告されます ―― 「競合の在庫が、一晩で全部売れました」。

データの上では、「取得に失敗した」と「全部売れた」は、まったく同じ形をしています。 そしてこれは、実際に人が動いてしまう数字です。

私たちがやっていること:

そして読めなかった情報源は、画面にもCSVにもメールにも、名前が出ます。 黙って落とすと、先週より短いリストが「市場が縮んだ」と読まれるからです。


ここから先は、仕組みの話です

上までで足りる方は、活用例料金へどうぞ。

1. どこから見るか

ページは、誰が見に来たかで姿を変えます。

同じ商品ページでも、日本から見れば円建てで在庫あり、米国から見ればドル建てで在庫なし、ということが普通に起こります。検索結果の並び順も、表示される同意バナーも、AIが挙げる企業名も変わります。

だから、その国のアドレスから見に行く必要があります。 リクエストごとに国を指定していただき、そこから読みます。

2. どう読むか ―― 安い段から順に

ページの読み取りは3段階で、安い順に試します。

何をするか費用
css指定されたセレクタを読むなし
structured_dataサイトが既に公開している JSON-LD / OpenGraph を読むなし
llmページをモデルに説明させるトークン

前の段が取れた項目は、後の段では触りません。そして llm を選ばなければ、モデルは呼ばれません。 商品ページの多くは最初の2段で足ります。

これは費用の話であると同時に、再現性の話でもあります。セレクタと構造化データは、同じページなら同じ結果を返します。

一覧は「行」で返します

一覧ページを読むとき、列ごとに配列を返す設計にはしていません。

1枚のカードに価格が無いだけで、その配列だけが1つ短くなり、以降の組み合わせが全部ずれます。そしてこれはエラーになりません ―― 実在する商品名と実在する価格が並んだ、別々の商品の表ができあがります。後工程では検出できません。

Kansoku は行として返すので、欠けた項目はその行の中の空欄になり、前後はずれません。

3. 何を一緒に返すか

データだけでは、会議で守れません。全ての行に、こう付きます。

seller掲載されていた出品者そのまま
url読み取ったページ
retrieved_at読んだ時刻
fx_rate / fx_published_on適用した為替レートと、そのレート自体の公表日
price_ex_tax_jpy税抜に揃えた価格
level / attemptsどの段が値を出したか、試した全ての段とその結果

税抜への変換は取得時に一度だけ行い、比較はその列しか読みません。 税込の日本価格と税別の香港価格を引き算した結果、ある資料は「香港が12.9%安い」と書きました。正しくは4.3%で、一部の商品は相手市場のほうが高いという、符号ごと違う結論でした。

4. 出す前に止める

上のような誤りは、エラーを出しません。それらしい数字を作ります。 だから「人が見れば気づく」という前提を捨てて、実行可能な検査に変えています。

レポートは31項目の検査を通らなければ生成されません。付属品を商品として数えていないか、型番の枝番が落ちていないか、一覧から一度消えただけのものを成約と数えていないか。

検査が正しいデータで落ちたときは、検査のほうを直します。緩めません。

やらないこと

原則だけでなく、商売の理由もあります。 一度拒否された取得元は二度と読めません。失うのは当社だけでなく、その情報源を必要としているお客様です。利害と倫理が同じ方向を向いています。

取得方針に、何を確認してから読むかを書いています。

最終更新 2026-08-21

最終更新