Pular para o conteúdo principal

Shop::eBay - scraper de resultados de pesquisa do eBay

img

Visão geral do scraper

Usando o scraper de produtos eBay, você pode coletar cartões dos resultados de busca: nome, link, imagem, preço e preço antigo, moeda, classificação, número de avaliações e vendas. Apenas busca por palavras-chave — página do produto, vendedor e categoria não são suportados como entrada.

A funcionalidade do A-Parser permite salvar as configurações de extração de dados para uso posterior (predefinições), definir agendamentos de extração de dados e muito mais. Você pode usar a multiplicação automática de consultas, a substituição de subconsultas a partir de arquivos, a varredura de combinações alfanuméricas e listas para obter a maior quantidade possível de resultados.

Dados coletados

Dados coletados

Array $products (cartões de resultados):

  • Nome ($products.$i.title)
  • Link ($products.$i.link) — sem parâmetros de consulta
  • Imagem ($products.$i.image)
  • Preço ($products.$i.price) — string; intervalos são unidos por espaço
  • Preço antigo ($products.$i.old_price)
  • Moeda ($products.$i.currency)
  • Classificação ($products.$i.rating)
  • Número de avaliações ($products.$i.reviews_count)
  • Número de vendas ($products.$i.number_sales) — vazio se não houver no cartão ou se for apenas "sold out"
  • Informação primária ($products.$i.light_highlight)
  • Informação secundária ($products.$i.secondary_info)

Se o campo não existir no cartão — a variável fica vazia (não none), se nada for encontrado — todo o $products fica vazio.

Casos de uso

  • Coleta de links de produtos
  • Avaliação da popularidade dos produtos
  • Acompanhamento da dinâmica de preços e da popularidade dos produtos

Consultas

Como consultas — palavras-chave na busca do eBay, como no formulário do site. A busca é sempre em todas as categorias. Link de produto ou categoria não é reconhecido: a string vai para a busca como está, por exemplo:

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

Substituições de consultas

Você pode usar macros embutidas para multiplicar consultas, por exemplo, queremos obter uma base de produtos muito grande por marcas

philips
sony
xiaomi
samsung

No formato de consultas, indicaremos a varredura de caracteres de a até zzzz, esse método permite varrer ao máximo os resultados de busca e obter muitos novos resultados únicos:

$query {az:a:zzzz}

Esse macro criará 475254 consultas adicionais para cada consulta de pesquisa original, o que no total resultará em 4 x 475254 = 1901016 consultas de pesquisa, um número impressionante, mas isso não é problema algum para A-Parser. A uma velocidade de 2000 consultas por minuto, essa tarefa será processada em apenas 16 horas.

Opções de saída dos resultados

A-Parser oferece formatação flexível dos resultados graças ao Template Toolkit integrado, permitindo que ele exiba os resultados em qualquer formato, bem como em formato estruturado, por exemplo CSV ou JSON

Saída do nome, do preço novo, do preço antigo e da moeda

Formato do resultado:

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

Exemplo de resultado:

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

Saída do nome, do preço e da moeda

Formato do resultado:

$products.format('Nome: $title, Preço: $price, Moeda: $currency\n')

Exemplo de resultado:

Nome: Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor, Preço: 63.99, Moeda: $
Nome: Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!, Preço: 20.00, Moeda: $
Nome: Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor, Preço: 63.99, Moeda: $
Nome: Xiaomi Mi Band 6 Smart fitness bracelet, Preço: 62.99, Moeda: $
Nome: Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet, Preço: 63.99, Moeda: $
Nome: MI 6 Band 6 Smart 1.56" AMOLED Retina Colourful Screen Blood SpO2 Heart Fitness, Preço: 82.74, Moeda: $
Nome: Xiaomi Mi Smart Band 6 1.56' Amoled Blood Oxygen Fitness Tracker Sport Bracelet, Preço: 65.99, Moeda: $

Saída do nome, do preço e da diferença entre o preço novo e o antigo para uma tabela CSV

Formato do resultado:

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

Exemplo de resultado:

"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

Saída do resultado com a data da extração de dados para uma tabela CSV

Formato do resultado:

[% 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 %]

Exemplo de resultado:

"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

Saída para tabela CSV

Formato do resultado:

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

Texto inicial:

Link do produto, Nome do produto, Preço, Preço antigo, Avaliação, Quantidade de avaliações

Exemplo de resultado:

Link do produto, Nome do produto, Preço, Preço antigo, Avaliação, Quantidade de avaliações
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,,,
dica

Em Formato de resultados é usado motor de templates Template Toolkit para exibir o array $products no loop FOREACH.

Para que a opção "Prepend text" fique disponível no Editor de tarefas, é preciso ativar "More options". Em "Prepend text" escrevemos os nomes das colunas separados por vírgula e deixamos a segunda linha em branco.

Salvamento em formato SQL

Formato do resultado:

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

Exemplo de resultado:

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

Exportação dos resultados em JSON

Formato geral do resultado:

[% 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 %]

Texto inicial:

[

Texto final:

]

Exemplo de resultado:

[
{
"query": "mi band 6",
"items": [
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"title": "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",
"title": "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",
"title": "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",
"title": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
}
]
}
]
dica

Para que as opções "Prepend text" e "Append text" fiquem disponíveis no Editor de tarefas, é preciso ativar "More options".

Configurações disponíveis

ParâmetroValor padrãoDescrição
Pages count5Quantas páginas de resultados coletar (1–50)
Items Per Page60Produtos por página: 60, 120 ou 240
Ebay domainUnited StatesZona de busca; a localidade e a moeda são as fornecidas pelo domínio