Shop::eBay - eBay検索結果スクレイパー

スクレイパーの概要
eBay商品スクレイパーを使用すると、商品カードからのデータ取得、商品リンクのデータベース構築、価格変動の追跡、出品者数の変化の監視、商品の評価やレビュー数の収集、商品画像の取得が可能です。
A-Parserの機能により、スクレイピング設定を保存して後で再利用(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。自動クエリ増殖、ファイルからのサブクエリ置換、英数字の組み合わせやリストの総当たりを使用して、可能な限り多くの結果を取得できます。
収集データ

- 商品名
- 商品リンク
- 商品画像
- 価格と旧価格
- 通貨
- レーティングとコメント数
- 出品者数
- 追加情報
ユースケース
- 商品リンクの収集
- 商品の人気の評価
- 価格変動と商品人気の追跡
クエリ
クエリには、eBayの検索フォームに直接入力する場合と同じように、商品名を指定する必要があります。例:
mi band 6
iPhone 11
kingston CanvasGo+
AMD Ryzen R3 2200U
クエリの置換
クエリを増殖させるために組み込みマクロを使用できます。例えば、ブランドごとに非常に大規模な商品データベースを取得したい場合:
philips
sony
xiaomi
samsung
クエリ形式で a から zzzz までの文字の総当たりを指定します。このメソッドにより、検索結果を最大限にローテーションさせ、多くの新しいユニークな結果を得ることができます:
$query {az:a:zzzz}
このマクロは、元の検索クエリごとに 475254 個の追加クエリを作成します。合計で 4 x 475254 = 1901016 個の検索クエリになります。これは印象的な数字ですが、A-Parserにとっては全く問題ありません。毎分 2000 クエリの速度であれば、このタスクは約 16 時間で処理されます。
結果の出力例
A-Parserは、組み込みのテンプレートエンジン Template Toolkit により柔軟な結果フォーマットをサポートしており、CSVやJSONなどの構造化された形式だけでなく、任意の形式で結果を出力できます。
商品名、新価格、旧価格、通貨の出力
結果のフォーマット:
$products.format('$title, $price, $old_price, $currency\n')
結果の例:
Xiaomi Mi Band 4 Global Version Smart Bracelet 0.95" Color Screen 50M Waterproof, 44.99, , $
Protective Film for Xiaomi youpin haylou ls02 ls01 Solar ls05 Color I Band 5, 5.97, , $
IP68 Waterproof SmartWatch ECG PPG Blood Pressure Heart Rate sports Wristwatch, 48.75, 52.99, $
Bluetooth Smart Watch Heart Rate Blood Pressure Bracelet For iPhone XS Xiaomi Mi, 38.63, 44.99, $
商品名、価格、通貨を出力(ラベル付き)
結果のフォーマット:
$products.format('商品名: $title, 価格: $price, 通貨: $currency\n')
結果の例:
商品名: Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor, 価格: 63.99, 通貨: $
商品名: Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!, 価格: 20.00, 通貨: $
商品名: Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor, 価格: 63.99, 通貨: $
商品名: Xiaomi Mi Band 6 Smart fitness bracelet, 価格: 62.99, 通貨: $
商品名: Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet, 価格: 63.99, 通貨: $
商品名: MI 6 Band 6 Smart 1.56" AMOLED Retina Colourful Screen Blood SpO2 Heart Fitness, 価格: 82.74, 通貨: $
商品名: Xiaomi Mi Smart Band 6 1.56' Amoled Blood Oxygen Fitness Tracker Sport Bracelet, 価格: 65.99, 通貨: $
商品名、価格、新旧価格の差をCSVテーブルに出力
結果のフォーマット:
[% FOREACH item IN products;
diff = item.old_price ? item.old_price - item.price : 0;
tools.CSVline(item.title, item.price, diff);
END %]
結果の例:
"Xiaomi Mi Band 4 Global Version Smart Bracelet 0.95"" Color Screen 50M Waterproof",44.99,0
"IP68 Waterproof SmartWatch ECG PPG Blood Pressure Heart Rate sports Wristwatch",48.75,4.24
"Protective Film for Xiaomi youpin haylou ls02 ls01 Solar ls05 Color I Band 5",5.97,0
"Bluetooth Smart Watch Heart Rate Blood Pressure Bracelet For iPhone XS Xiaomi Mi",38.63,6.36
"Men Sports Smart Watch ECG PPG Blood Pressure Heart Rate Phone Mate for iPhone",48.75,4.24
スクレイピング日時を含めた結果をCSVテーブルに出力
結果のフォーマット:
[% USE date;
d = date.format(mytime, format = "%Y %d %H:%M");
FOREACH item IN products;
tools.CSVline(d, item.title, item.price, item.link);
END %]
結果の例:
"2021 16 18:23","Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor",63.99,https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/124659632314
"2021 16 18:23","Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!",20.00,https://www.ebay.com/itm/Original-Xiaomi-Mi-Band-6-Wristband-AMOLED-Color-Screen-2021/153992931607
"2021 16 18:23","Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor",63.99,https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/133729672537
"2021 16 18:23","Xiaomi Mi Band 6 Smart fitness bracelet",62.99,https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Smart-fitness-bracelet/353451130097
"2021 16 18:23","Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet",63.99,https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor-Sports-Bracelet/164811614943
CSVテーブルへの出力
結果のフォーマット:
[% FOREACH item IN products;
tools.CSVline(item.link, item.title, item.price, item.old_price, item.rating, item.reviews_count);
END %]
開始テキスト:
商品リンク, 商品名, 価格, 旧価格, レーティング, コメント数
結果の例:
商品リンク, 商品名, 価格, 旧価格, レーティング, コメント数
https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/124659632314,"Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor",63.99,,,
https://www.ebay.com/itm/Original-Xiaomi-Mi-Band-6-Wristband-AMOLED-Color-Screen-2021/153992931607,"Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!",20.00,,,
https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-1-56-AMOLED-Tracker-Heart-Rate-Bracelet/284256075838,"Xiaomi Mi Band 6 Blood Oxygen Fitness 1.56"" AMOLED Tracker Heart Rate Bracelet",60.79,63.99,,
https://www.ebay.com/itm/Xiaomi-Mi-Smart-Band-6-1-56-AMOLED-Blood-Oxygen-Fitness-Tracker-Sport-Bracelet/194003608270,"Xiaomi Mi Smart Band 6 1.56' AMOLED Blood Oxygen Fitness Tracker Sport Bracelet ",61.99,77.69,,
https://www.ebay.com/itm/Xiaomi-Mi-band-6-Xiaomi-smart-2021-Newest-1-56/154411997162,"Xiaomi Mi band 6 Xiaomi smart 2021 Newest 1.56'",58.99,,,
結果のフォーマットでは、FOREACH ループ内で $products 配列を出力するために Template Toolkit テンプレートエンジン が使用されます。
タスクエディタで「Prepend text」オプションを使用するには、「More options」を有効にする必要があります。 「Prepend text」には、カラム名をカンマ区切りで入力し、2行目を空行にします。
SQL形式での保存
結果のフォーマット:
[% FOREACH item IN products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.link _ "', '"; item.price _ "', '"; item.currency _ "')\n";
END %]
結果の例:
INSERT INTO products VALUES('Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor', 'https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/124659632314', '63.99', '$')
INSERT INTO products VALUES('Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!', 'https://www.ebay.com/itm/Original-Xiaomi-Mi-Band-6-Wristband-AMOLED-Color-Screen-2021/153992931607', '20.00', '$')
INSERT INTO products VALUES('Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor', 'https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/133729672537', '63.99', '$')
INSERT INTO products VALUES('Xiaomi Mi Band 6 Smart fitness bracelet', 'https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Smart-fitness-bracelet/353451130097', '62.99', '$')
INSERT INTO products VALUES('Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet', 'https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor-Sports-Bracelet/164811614943', '63.99', '$')
INSERT INTO products VALUES('MI 6 Band 6 Smart 1.56" AMOLED Retina Colourful Screen Blood SpO2 Heart Fitness', 'https://www.ebay.com/itm/MI-6-Band-6-Smart-1-56-AMOLED-Retina-Colourful-Screen-Blood-SpO2-Heart-Fitness/224414937192', '82.74', '$')
JSONへの結果ダンプ
共通結果形式:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = query;
obj.items = [];
FOREACH item IN p1.products;
obj.items.push({
link = item.link
title = item.title
price = item.price
});
END;
obj.json %]
開始テキスト:
[
終了テキスト:
]
結果の例:
[
{
"query": "mi band 6",
"items": [
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
},
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
},
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
},
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
}
]
}
]
タスクエディタで「Prepend text」および「Append text」オプションを使用するには、「More options」を有効にする必要があります。
利用可能な設定
| パラメータ | デフォルト値 | 説明 |
|---|---|---|
| Pages count | 5 | スクレイピングするページ数 |
| Items per page | 50 | 1ページあたりの商品数 |
| Ebay domain | United States | スクレイピングに使用するドメインの選択 |