Skip to main content

Shop::eBay: eBay search results parser

img

Shop::Ebay product parser overview

Using the eBay product parser, you can get data from the product card, collect a database of links to products, track the dynamics of prices for the product, changes in the number of sellers, collect the rating score and the number of reviews for the product, and collect product images.

A-Parser functionality allows you to save parsing settings for further use (presets), set a parsing schedule, and much more. You can use automatic query multiplication, substitution of subqueries from files, enumeration of alphanumeric combinations and lists to get the maximum possible number of results.

Collected data

img

  • Product name
  • Link to product
  • Product image
  • Price and old price
  • Currency
  • Rating and number of comments
  • Number of sellers
  • Additional information

Use cases

  • Collecting links to products
  • Evaluating product popularity
  • Tracking the dynamics of prices and product popularity

Query examples

As queries, you need to specify the names of products, just as if you were entering them directly into the Ebay search form, for example:

mi band 6
iPhone 11
kingston CanvasGo+
AMD Ryzen R3 2200U

Query substitutions

You can use built-in macros to multiply queries, for example, we want to get a very large database of products by brands

philips
sony
xiaomi
samsung

In the query format, we will specify the enumeration of characters from a to zzzz, this method allows you to rotate the search results as much as possible and get many new unique results:

$query {az:a:zzzz}

This macro will create 475254 additional queries for each original search query, which in total will give 4 x 475254 = 1901016 search queries, an impressive figure, but this is not a problem for A-Parser.

Result output options

Output to csv

You can use Template-Toolkit template engine to output the result to csv, for example, we can write such columns to a csv file: Product link, Product name, Price, Old price, Rating, Number of comments

Result format:

[% FOREACH item IN products; 
tools.CSVline(item.link, item.title, item.price, item.old_price, item.rating, item.reviews_count );
END %]

Result example:

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,,,

Output of product name, price, and currency

Result format:

$products.format('$title, $price, $old_price, $currency\n')

Result example:

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, $

Output with variable names

Result format:

$products.format('Название: $title, Цена: $price, Валюта: $currency\n')

Result example:

Название: 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, Валюта: $

Output with a new variable

Let's output the result with the diff variable, which is equal to the difference between the new and old price.

Result format:

[% FOREACH item IN p1.products;  
diff = item.old_price ? item.old_price - item.price : 0;
tools.CSVline(item.title, item.price, diff);
END %]

Result example:

"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

Saving in SQL format

Result format:

[% FOREACH item IN p1.products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.link _ "', '"; item.price _ "', '"; item.currency _ "')\n";
END %]

Result example:

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', '$')

Dumping results to JSON

Result format:

[% data = {};
data.query = query;
data.items = [];
FOREACH i IN p1.products;
item = {};
item.link = i.link;
item.name = i.title;
item.price = i.price;
data.items.push(item);
END;

data.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"
}
]
}

Output of the result with the parsing date

Let's output the result with the parsing dates.

Result format:

[% USE date;
d = date.format(mytime, format = "%Y %d %H:%M");
FOREACH item IN p1.products;
tools.CSVline(d, item.title, item.price, item.link);
END %]

Result example:

"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

Possible settings

ParameterDefault valueDescription
Pages count5Number of pages for parsing
Items per page50Number of products per page
Ebay domainUnited StatesSelect the domain that will be used for parsing