Otto 商品スクレイパー

ドイツの小売業者のカタログを、
1商品につき1行で。

Otto はドイツ最大級の総合小売業者で、その商品ページは完成した形で配信されるのではなく、ブラウザ内で組み立てられます。このサービスはブラウザと同じようにページを読み込み、商品ページごとに17列を返します。当社の他のカタログ系スクレイパーと同じスキーマなので、インポーター1つですべてを読めます。

初回のみ500行無料以降は1行 0.002ドル1商品につき17列3つのファイル形式
使い方

アドレスの一覧を入れると、表計算ファイルが出てくる

  1. ステップ 1プラットフォームにログインします。
  2. ステップ 2Otto 商品スクレイパーを開きます。
  3. ステップ 3取得したい Otto の商品ページのアドレスを1行に1件ずつ貼り付けます。
  4. ステップ 4出力形式を選びます。
  5. ステップ 5ジョブを実行します。
  6. ステップ 6結果をダウンロードします - 1件につき1行、17列です。
知っておくべきこと

Otto に対する実行を形づくるもの。

一覧はブラウザ内で組み立てられます

https://www.otto.de を通常のクライアントで要求すると、およそ 320 KB の正常なページが返り、そこには70件ほどのスクリプトタグがある一方、配信されたマークアップに商品へのリンクは1つもありません。カタログはその後、JavaScript から届きます。HTTP ライブラリと HTML パーサーの上に組んだものは、正常なページを読みながらその中に商品を見つけられません。このサービスはブラウザと同じようにページを読み込みます。

法人向け卸ではなく一般消費者向け小売です

Otto は一般に向けて販売しています。これを言っておく価値があるのは、このスキーマを共有する他のカタログ - BiggestBook、Vistaprint、Waxie - が法人向けサイトであり、それぞれ固有の理由で価格の列が空になるからです。消費者向けの店は誰に対しても価格を公開します。当社は Otto の価格を測定していないので約束もしませんが、それらのページが挙げる金額の列が空になる理由は、ここには当てはまりません。

17列、そのいくつかは対になっている

エクスポートには priceparsed_priceskusku_codeimageimagesurlproduct_url が含まれます。各組の一方は表示用、もう一方は計算用で、どちらがどちらかをインポーターを書く前に把握しておけば、書き直さずに済みます。

他のサービス群と同じ形

Livescraper は小売・供給系の一連のソースで、このスキーマを使っています。17個の名前もその順序も同一なので、インポーターは1つですべてを読めますし、2つ目のソースを追加するのは設定変更であってプロジェクトではありません。

各行が成否を伝える

最後の列は status で、サイトではなく当社のエクスポーターが書き込みます。取得できなかった行も理由を持って必ず届きます。3週間後に静かな欠落に気づくのではなく、入力リストと突き合わせられます。

測定していないことは、していないと書きます

このページの根拠となる2回の実行は、どちらも 404 が返るプレースホルダーのアドレスを送信したため、Otto の商品データは一切ありません。下の列一覧は本物で、それらのエクスポートのヘッダー行そのものです。値については記述していません。1件も見ていないからです。

取得できるもの

1商品につき17列。

このサービスの実際のエクスポートのヘッダー行から、シートの順序どおりに読み取ったものです。手元にある2回の実行はこのヘッダーの下にデータを返していないため - 表の下の注記をご覧ください - 各項目はその列が何のためにあるかを述べ、そこで止めています。

query
送信した Otto のアドレス。多数の商品を含むエクスポートでも切り分けられるよう、各行に繰り返されます。残しておいてください。行の残りがどの入力に対する答えなのかを示す唯一の記録です。
sku_code
カタログに印字されているとおりの品番。下の sku と対になります。このスキーマ系統では両者が独立に埋まり、同一の場合も異なる場合も観測されているため、結合キーを決める前に両方を確認してください。
product_url
正規の商品ページ。行が実際に生成された元のアドレスを示す url とは別物です。送信したリンクがリダイレクトすれば、両者は食い違います。
name
ページに記載されているとおりの商品タイトル。ドイツ語だと考えてください。ドイツの店なのですから。この列の照合順序と文字コードはそれを前提に設計してください。
description
説明文。短いラベルではなく長い自由記述の項目だと考えて、幅の広い列かデータベースのテキスト型を割り当ててください。
parsed_price
記号も桁区切りもない数値としての価格。計算、並べ替え、しきい値判定に使うのはこちらです。
price
表示どおりの価格。ページに何と書かれていたかを顧客にそのまま示す必要があるときに使います。計算が必要なら parsed_price を使ってください。ドイツの店では、表示形式はお使いの表計算ソフトが既定で解釈する形式ではありません。
currency
価格が表示されている通貨。決めつけずに読み取ってください。ユーロの金額がドルの金額に足し込まれるのは、こうして起こります。
availability
ページに公開されているとおりの在庫状況。リアルタイムの在庫連携ではなく、取得時点でのカタログの記載として扱ってください。
rating
ページが公開している場合の平均評価。すべての商品に評価が付くわけではないので、空欄で落ちずに受け入れられるようインポーターを書いてください。
reviews
レビュー件数。rating と同じ但し書きが付きます。両方そろっている場合は組で扱ってください。件数の裏付けのない評価は順位付けには使えません。
images
ページが持つすべての画像を1つの項目に収めたもの。素材ごとに1行必要なら保存前に分割してください。ただし分割する前に区切り文字が実際に何であるかを確認してください。このスキーマ系統では、まさにそこで問題が起きたことがあります。
brand
メーカーまたはブランド。品揃えの分析でグループ化する対象はこの項目です。ある小売業者がどのブランドを扱い、各ラインをどこまで深く揃えているかが分かります。
sku
品目番号。sku_code と組になる識別子のもう一方です。
url
その行が生成された元のアドレス。query と比べればリダイレクトが、product_url と比べれば正規化が分かります。
image
主画像を単独で持つ列。商品ごとにサムネイル1枚という一般的なケースで、文字列の分割が不要になります。
status
Otto ではなく当社のエクスポーターが書き込む行ごとのフラグ。その行が取得できたかどうかを伝えます。このページの根拠となる2回の実行はどちらもここが http 404 です。送信したアドレスが存在しないプレースホルダーだったからです。

1行あたり17列 · 3つのファイル形式

このページの根拠は2026年7月14日と15日の2回の実行で、そのペイロードはバイト単位で同一です。どちらも https://www.example.com/product/123 - Otto のアドレスではなくプレースホルダー - を送信し、どちらも http 404 を持つ1行を返し、データ列14個はすべて空でした。つまりスキーマは確実にお伝えできますが、Otto の値については何一つお伝えできず、このページはそれを取り繕っていません。この17個の名前は当社の BiggestBook、Vistaprint、Waxie のエクスポートにも同じ順序で現れ、Waxie の実行には値が入っています。スキーマが下書きではなく実際に動いていると分かるのはそのためです。ただし Otto の列を、それらのページの値を使って説明することは意図的にしていません。あちらは法人向けサイトで、金額の列が空なのはそれぞれ固有の理由によるものであり、Otto は一般消費者向けの小売業者です。あちらの測定結果を借りてくることは、事実の衣をまとった推測にすぎません。

よくある使い方

小売カタログで何ができるか。

価格の追跡

単品ではなく品揃えの幅を見張る

関心のある商品のアドレスを定期的に送信し、parsed_pricecurrency、実行日を保存します。価値は単独の数字ではなく系列にあります。小売業者はたいてい品揃えの幅ごとまとめて動かすもので、ブラウザのタブでは見えないその動きが表なら見えます。

価格設定 · モニタリング
品揃えの分析

小売業者が実際に扱っているブランドを見る

エクスポートを brand でグループ化して数えます。ブランドごとの深さから、その小売業者がどこに本腰を入れ、どこは様子見なのかが分かります。バイヤーが取引先を増やす前に立てるのと同じ問いに、カタログ自身が答えてくれます。

カテゴリー購買 · 品揃え
カタログの補完

自社データに欠けている項目を埋める

商品データベースは識別子には強く、説明文や画像には弱いのが普通です。descriptionimageimages が、すでに手元にある識別子を手がかりにその空白を埋めます。撮り直しは要りません。

EC運用 · カタログ
市場参入調査

ドイツ国外からドイツの店を読む

全国規模の小売業者のカタログは、ある市場が何をどの価格帯で扱っているかを知るための、最も安価に手に入る見取り図です。namebrandparsed_price を保存すれば、調査を発注せずにカテゴリーの輪郭がつかめます。

戦略 · 市場調査
料金

実際に使った分だけの支払い。

無料枠

最初の500行は無料

登録時に初回のみ。カード不要で、後から解約するものもありません。

登録時に初回のみ
単価

以降は1行 0.002ドル

実際に返された行数で課金されます。成功以外の status で返ってきた行は商品データの行ではないため、そのようには課金されません。

返された行数で課金
サブスクリプションなし

継続課金はありません

クレジットは月次で失効しません。作業がそういう形なら、3月にカタログを一巡させて9月まで何もしない、という使い方でかまいません。

月次の失効なし
初回の有料実行が10%オフ。お支払い時にコード LIVESCRAPER10 をご利用ください。
登録する
組み合わせると便利

別のカタログ、同じ17列

法的な話

Otto のスクレイピングは合法ですか。

一般に公開されているページ上の商品情報は、ごく普通の競合情報です。ここで挙げておくべき注意点は、再利用について、そしてドイツのサイトはドイツのサイトである、という点についてです。

価格、商品名、ブランド、在庫状況は、販売されている品物についての事実です。どの訪問者にも配信されるページからそれを読み取ることは、買い手が手作業でしていることを実用的な速度で行うのと同じ行為です。17列のどこにも個人を表す情報はありません。氏名も、メールアドレスも、電話番号も、アカウントもないため、個人情報を扱うサービスで問題になるデータ保護の論点は、ここでは生じません。ドイツのサイトではこれをはっきり述べておく価値があります。まず尋ねられるのが GDPR だからです。GDPR が規律するのは個人データであり、商品の1行はそれに当たりません。

挙げておくべき注意点が2つあります。1つ目は再利用です。説明文や商品写真は誰かの著作物です。価格追跡、品揃えの分析、自社データとの突き合わせのために社内で使うことは一般的な実務ですが、自社のカタログとして公開するのは別の問いであり、答えも別です。2つ目はサイト自身が表明している方針です。Otto は robots.txt を公開しており、一般的なクローラーに対しては包括的な禁止ではなく、ごくわずかな限定的除外だけを記しています。したがって商品ページは、クローラーに避けるよう求めているパスには含まれていません。当社は推測せずにそのファイルを読み、一般に公開されているページにとどまり、節度ある速度で動きます。

当社の条件は、ここにある他のサービスと同じです。一般に公開されているページのみ、ログインの先には入らず、データ層に第三者のトラッカーは置かず、エクスポートは30日後に自動削除されます。最初の500行は無料で、クレジットカードは不要です。

livescraper.app · 実行の前提
1行につき商品ページ1件
ページは取得するだけでなく描画する
匿名アクセスのみ
Otto の値は未測定 - スキーマのみ
エクスポートは30日後に自動削除
表の形は確実にお伝えできます。Otto がそこに何を入れるかは、まだ見ていません。
よくある質問

登録前に寄せられる質問。

エクスポートにはどの列が含まれますか。+
17列で、順序は次のとおりです。querysku_codeproduct_urlnamedescriptionparsed_pricepricecurrencyavailabilityratingreviewsimagesbrandskuurlimagestatus。送信した商品ページごとに1行です。
このページに Otto のサンプルデータはありますか。+
ありませんし、作り出すこともしません。このページの根拠となる2回の実行は、どちらも http 404 が返るプレースホルダーのアドレスを送信したため、データ列はすべて空で返りました。それで確定できるのは17個の列名だけで、それ以上ではありません。だからこのページは各列が何のためにあるかを述べ、その値がどのようなものかは決して述べていません。
価格の列には値が入りますか。+
測定していないので、約束はしません。言えるのは、当社の他のカタログページが価格の列が空である理由として挙げていることは、ここには当てはまらないということです。あちらはアカウント単位や数量単位で見積もる法人向けサイトであり、Otto は誰に対しても価格を公開する一般消費者向けの小売業者です。可能性は高いものの確実ではありません。持っていない測定結果を主張するより、その違いを明示するほうがよいと考えています。
Otto に単純な HTTP リクエストでは足りないのはなぜですか。+
一覧がブラウザ内で組み立てられるからです。https://www.otto.de への通常のクライアントからのリクエストは、およそ 320 KB の正常なページを返しますが、そこには70件ほどのスクリプトタグがある一方、配信されたマークアップに商品へのリンクはありません。カタログはその後に要求され描画されるため、HTML パーサーだけに頼るスクレイパーには、中身のない正常なページに見えます。
データはドイツ語で返りますか。+
そう考えてください。namedescription は店が印字するものであり、これはドイツの店です。これらの列の文字コードと照合順序はそれを前提に設計してください。また、表示される price はドイツ式の数値表記になります。計算のためにあるのが parsed_price です。
なぜ価格の列と識別子の列が2つずつあるのですか。+
各組の一方は表示用、もう一方は計算用だからです。price は表示どおりの価格、parsed_price は同じ数字を書式なしの数値にしたものです。skusku_code はこのスキーマ系統では独立に埋まり、同一の場合も異なる場合も観測されているため、結合キーを決める前に両方を確認してください。同じ重複が imageimagesurlproduct_url にも当てはまります。
status の列は何を意味しますか。+
Otto ではなく当社のエクスポーターが書き込むもので、その行が取得できたかどうかを伝えます。失敗した行も理由を持って届くので、後から静かな欠落に気づくのではなく、エクスポートを入力リストと突き合わせられます。このページの根拠となる2回の実行は、そこが http 404 です。
料金はいくらですか。+
最初の500行は初回のみ無料で、カードは不要です。以降は1行 0.002ドルで、実際に返された行数で課金されます。サブスクリプションはなく、クレジットの月次失効もありません。
どの形式で出力できますか。+
CSVJSONExcel の3形式です。17列とその順序は、どの形式でも同じです。

カタログを表として読む。

ブラウザ内で自らを組み立てる店から、1商品につき17列。最初の500行は無料、以降は1行 0.002ドルです。

すぐに有効 · カード不要

Otto の商品データを取得する

Otto はドイツ最大級の総合小売業者で、otto.de を通じて衣料品、家具、電化製品、家庭用品を一般消費者に販売しています。法人向け卸ではなく消費者向けの店であることは、聞こえる以上に重要です。というのも、このスキーマを共有する他のカタログ - BiggestBook、Vistaprint、Waxie - はいずれも法人向けサイトであり、それぞれに価格の列が空になる固有の理由があるからです。誰にでも売る小売業者は、誰に対しても価格を公開します。当社は Otto の価格を測定していないので、このページはそれを約束しません。ただ、それらのページに当てはまる論理はこのページには移せません。似ているからといって、検証していないことをほのめかせるよりは、そう言っておくほうがよいと考えています。

実務上の壁は、サイトの作りにあります。通常の HTTP クライアントから https://www.otto.de に要求を出すと、およそ 320 KB の成功応答が返り、そこには70件ほどのスクリプトタグがある一方、配信されるマークアップに商品へのリンクはありません。一覧は、その外枠が届いた後にクライアント側で組み立てられます。したがって HTTP ライブラリと HTML パーサーの上に組んだものは、正常なページを読みながら中に何も見つけられません。自作のスクレイパーが動いているように見えて空の行を返す、最も多い原因がこれです。このサービスはブラウザと同じようにページを読み込むので、何かを読み取る時点で商品はそこにあります。

エクスポートは商品ページごとに17列です。querysku_codeproduct_urlnamedescriptionparsed_pricepricecurrencyavailabilityratingreviewsimagesbrandskuurlimagestatus。このうち4組は対になっています。表示どおりの価格と計算できる価格、2つの識別子項目、主画像とすべての画像、要求したアドレスと正規のアドレス。どちらの側を使うかをインポーターを書く前に決めておくことが、きれいに取り込めるか書き直しになるかの分かれ目です。識別子の対を確認すべきだというのは理屈だけの話ではありません。同じスキーマを使う当社の Waxie のエクスポートでは、2つの列に本当に別々の番号 - 卸業者の品番とメーカーの品番 - が入っていました。namedescription にはドイツ語を、表示される price にはドイツ式の数値表記を見込んでください。

お見せできる範囲の限界については、意図してはっきり書いています。このページの根拠となる2026年7月14日と15日の2回の実行は、どちらも Otto のアドレスではなくプレースホルダーのアドレスを送信し、どちらも 404 とすべて空のデータ列で返ってきました。これはスキーマを裏づけますが - ヘッダー行は下にデータがなくても本物のヘッダー行です - Otto の値については何も裏づけません。ですからこのページのどこにも、サンプルの価格も品番も評価もありません。法的な面では、商品の1行に個人データは含まれません。ドイツのサイトでまず持ち上がるのがこの点です。説明文と写真は、著作権と再利用という別の問題です。Otto は robots.txt を公開しており、一般的なクローラーに対しては包括的な禁止ではなくごくわずかな限定的除外だけを列挙しているため、商品ページは避けるよう求められているパスには含まれていません。一般に公開されているページのみ、データ層に第三者のトラッカーは置かず、エクスポートは30日後に自動削除されます。最初の500行は無料で、クレジットカードは不要です。