eBayの検索結果または商品ページのURLを貼り付けるだけで、実際のブラウザ経由でライブデータを取得できます。取得できる項目は、商品番号、価格、コンディション、セラー、送料など。公開されているWebデータに安定してアクセスできるeBay出品スクレイパーで、課金は成功したリクエストのみ。失敗したリクエストは$0です。
eBayスクレイピングAPIを1回呼び出すだけで、商品番号からセラーの評価まで、レンダリング済みの出品ページを取得できます。Gologinのブラウザセッションと同じ、実ブラウザのエンジンを使用しています。
以下のフィールドはすべて、描画後のページから読み取っています。そのため、eBayデータスクレイパーを実行すると、ブラウザで買い手が目にするのと同じ値が返ります。フィールド名はeBayがページ上に表示するラベルに合わせています。例は実際の出品から取得したものです。
| フィールド | 値の例 | 取得できるページ |
|---|---|---|
| タイトル | Apple MacBook Air 13" M1 256GB SSD | すべて |
| 商品番号 | 298664654145 | すべて |
| EPID | 21038277962 | 商品ページ |
| 価格 | US $444.99 | すべて |
| 通貨 | USD | すべて |
| 商品の状態 | 中古 – 非常に良い | 商品ページ、検索結果 |
| 出品形式 | 即決価格 | すべて |
| 現在の入札額 | US $312.00 | 商品ページ、検索結果 |
| 入札件数 | 27 | 商品ページ、検索結果 |
| 価格交渉(Best Offer) | 受付中 | 商品ページ |
| 販売数 | 47 | 商品ページ |
| ウォッチ数 | 128 | 商品ページ |
| 残り時間 | 3日 4時間 12分 | 商品ページ、検索結果 |
| 送料 | 無料 | すべて |
| お届け予定 | 9月29日(火)~10月2日(金) | 商品ページ |
| 商品の所在地 | アメリカ、オレゴン州ポートランド | 商品ページ、検索結果 |
| 出品者のユーザー名 | macmall_deals | すべて |
| フィードバックスコア | 24,318 | 商品ページ、ストアフロント |
| フィードバック率 | 99.3% | 商品ページ、ストアフロント |
| Top Rated Seller | true | 商品ページ、ストアフロント |
| Item specifics(商品詳細) | ブランド: Apple · RAM: 8 GB · SSD: 256 GB | 商品ページ |
| バリエーション | カラー: スペースグレイ / シルバー / ゴールド | 商品ページ |
| カテゴリパス | Computers/Tablets & Networking > Laptops | 商品ページ、カテゴリ一覧 |
| 画像URL | i.ebayimg.com/images/g/9k0/s-l1600.jpg | すべて |
| 返品ポリシー | 30日間、返送料は購入者負担 | 商品ページ |
同じエンドポイントを、まったく異なるスケジュールで使う6つのチームを紹介します。
どちらもeBayの出品データを取得できます。違いは、申請の要否、取得できる項目、そしてレスポンスがページか固定スキーマかという点です。
対象URLを指定してGETリクエストを1回送るだけです。PythonでもNode.jsでもcURLでも、eBayのスクレイピングは同じパラメータで送信し、JSONの中からHTMLを読み取ります。
import requests
API = "https://api.gologin.com/web-unlocker/v1/scrape"
TARGET = "https://www.ebay.com/itm/298664654145"
r = requests.get(
API,
params={"url": TARGET, "format": "json", "geo": "us", "render": "true"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=90,
)
data = r.json()["data"]
print(data["metadata"]["status_code"], len(data["html"]))
open("item.html", "w", encoding="utf-8").write(data["html"])
const API = "https://api.gologin.com/web-unlocker/v1/scrape";
const target = "https://www.ebay.com/itm/298664654145";
const url = new URL(API);
url.search = new URLSearchParams({
url: target,
format: "json",
geo: "us",
render: "true"
});
const res = await fetch(url, {
headers: { Authorization: "Bearer YOUR_API_KEY" }
});
const { data } = await res.json();
console.log(data.metadata.status_code, data.html.length);
curl -G "https://api.gologin.com/web-unlocker/v1/scrape" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "url=https://www.ebay.com/itm/298664654145" \
--data-urlencode "format=json" \
--data-urlencode "geo=us" \
--data-urlencode "render=true" \
-o item.json
# item.json -> { "success": true, "data": { "html": "...", "metadata": {...} } }
jq -r '.data.metadata.status_code' item.json
jq -r '.data.html' item.json > item.html
同じWeb Unlockerインフラ上で動く2つの専用モジュールが、このページでは扱わないデータセットに最適化されています。
落札価格、売却率、終了したオークションの履歴を取得できます。
近日公開ストアの在庫、フィードバックスコア、セラーに対する評価データを抽出できます。
近日公開選ぶ前に知っておきたいポイントをまとめました。
Web Unlockerは単なる後付けの製品ではありません。Gologinのほかの機能とインフラを共有しているため、eBayのスクレイピングもアカウント管理も同じ基盤で動きます。
価格を決めるのは出品者ですが、それ以外は買い手の郵便番号によって変わります。リクエストに米国のZIPコードを指定すれば、eBayスクレイパーAPIはその地域にいる購入者として応答を返します。
送料、税金、配達日はすべて郵便番号によって変わるため、買い手が実際に支払う金額は出品ページの価格とは一致しません。3,000万以上のレジデンシャルプロキシのプールから、米国の任意のZIPコードで同じ商品を取得できます。
同じパラメータで国別サイトを切り替えられるため、1つの連携で各マーケットプレイスの通貨、言語、出品者の構成をそのまま取得できます。プロキシのロケーションは195以上です。
eBayスクレイパーAPIのレスポンスに必ず登場する4つの用語です。
eBayの出品データをスクレイピングする前によく寄せられる質問に、率直にお答えします。
価格、タイトル、商品仕様(Item specifics)といった公開されている出品データのスクレイピングは、事実そのものには著作権が認められないため、ほとんどの法域で一般に合法とされています。Web Unlockerは公開データ専用に作られており、ログインが必要なアカウントのデータをスクレイピングする用途は想定していません。
アイテム番号は、eBayがすべての出品に割り当てる数字のIDです。出品URLの「/itm/」の後ろに入っています。多くのeBayスクレイパーツールは、特定の出品を取得する際にこの番号を使います。
フィードバックスコアと評価率は、eBayが公開している出品者の評判の指標です。同じ商品でも、Top Rated(優良)出品者のものは競争上の立ち位置が変わるため、リプライサー(価格改定ツール)や仕入れ担当のチームは価格と合わせてこれらを追跡しています。
単純なリクエストでは、不完全なページが返ってくることがよくあります。1つのIPから定期実行すると、結果も安定しなくなります。Web Unlockerは、一貫したフィンガープリント、JavaScriptレンダリング、ロケーション別のレジデンシャルIP、自動リトライを備えた本物のブラウザ経由でページをレンダリングします。このページでライブデモをご覧いただいたとおりです。
最初のリクエストでは起きません。eBayは単発のアクセスに対してAmazonより寛容で、だからこそ多くのチームが落とし穴にはまります。試作では動くのでそのまま本番に出してしまうのです。本番の規模になると、同じIPとフィンガープリントからの繰り返しのリクエストにチャレンジや速度制限が返ってくることがあり、テストでは動いていたものが本番では動かなくなります。課金は成功ベースなので、失敗したリクエストに料金はかかりません。
はい。商品ページ、検索結果、Daily Deals、カテゴリの閲覧ページ、出品者のストアフロントは、すべて同じAPI呼び出しで取得できます。上の「Try These」リストで、どれでもお試しください。
PythonでeBayの出品をスクレイピングするには、出品URLを指定してWeb UnlockerのエンドポイントにGETリクエストを送り、返ってきたHTMLをBeautifulSoupやselectolaxで解析します。上のPythonサンプルが連携のすべてです。プロキシプールの設定も、ブラウザドライバのインストールも、リトライ処理の実装も必要ありません。
すべてのレスポンスは、レンダリング済みのHTML、ステータスコード、処理時間のメタデータを含むJSONで返されます。解析したフィールドのCSV書き出しは、ご自身のコードで数行書くだけです。解析済みフィールドを返すエンドポイントはないため、上の表のどのフィールドをどのような形式で残すかはお客様が決められます。
有料プランに1日あたりの固定の上限はありません。処理量はクォータではなく、同時実行数の設定によって決まります。eBayの価格モニタリングを大規模に運用しているチームでは、1つのキーで1日に数十万件の出品を処理しています。このページの無料デモウィジェットには、別途レート制限があります。
はい、eBay.co.uk、eBay.de、eBay.com.au など各国のサイトで使えます。完全なURLを渡せば、そのドメインが表示する内容をそのままレンダリングするためです。価格は各マーケットプレイスの通貨、ページはその国の言語で返ります。プロキシの国は geo パラメータで指定します。
公開されている落札済み・終了済み出品のページも、他のeBayのURLと同じようにレンダリングされるため、ログインなしでスクレイピングできます。落札価格や販売率(sell-through rate)を返す専用モジュールは開発中です。なお、eBay自身の販売履歴は Browse API には含まれておらず、Limited Release の Marketplace Insights API で提供されています。
料金は成功ベースで、成功したリクエスト1,000件あたり1ドル未満から利用できます。ブロックされた試行やCAPTCHAページは課金されません。実際のページが返ったときだけ1件としてカウントします。プランごとの料金は料金ページで確認でき、利用量をコミットすると単価が下がります。
eBayのデベロッパーアカウントもeBay APIキーも不要です。スクレイパーはeBayのAPIを呼び出すのではなく、公開ページを読み取るためです。Gologinにはご自身のキーで認証し、対象のURLを渡すだけです。OAuthキーセットの審査やスコープごとの承認も、セットアップには含まれません。
eBayスクレイパーはレンダリング済みのページそのものを返します。一方、eBayの出品APIが返すのは、eBayが公開すると決めた固定のJSONスキーマです。そのためスクレイパーなら、APIに含まれないウォッチ数、販売数量、商品の詳細情報(item specifics)も取得でき、承認も要りません。ただし、パーサーは自分で書く必要があります。
本物の出品価格。本物のスクリーンショット。本物のスピード。1,000リクエストあたり1ドル未満から。無料の個別デモを予約して、あなたのユースケースでGologin Web Unlockerが動く様子をライブでご覧ください。
デモを予約