Shop::Yandex::Market - Scraper de produtos do Yandex.Market

Visão geral do scraper
Usando o scraper de produtos Yandex market, você pode obter dados da ficha do produto, coletar uma base de links de produtos, monitorar a dinâmica de preços dos produtos, mudanças no número de vendedores, coletar avaliações de classificação e o número de comentários sobre o produto, além de coletar imagens dos produtos.
A funcionalidade do A-Parser permite salvar as configurações de extração de dados para uso posterior (presets), definir agendamentos de extração de dados e muito mais. Você pode usar a multiplicação automática de consultas, substituição de subconsultas a partir de arquivos, busca combinatória de caracteres alfanuméricos e listas para obter o máximo possível de resultados.
Dados coletados

- Nome do produto
- Link do produto
- Imagem do produto
- Preço e preço antigo
- Moeda
- Classificação e número de comentários
- Número de vendedores
- Informações adicionais
- Número de compras e visualizações do produto
Variantes de uso
- Coleta de links de produtos
- Avaliação da popularidade de produtos
- Monitoramento da dinâmica de preços e popularidade de produtos
Consultas
Como consultas, é necessário indicar palavras-chave ou o link para uma categoria, por exemplo:
xiaomi redmi note
https://market.yandex.ru/catalog/54726/list?local-offers-first=0&deliveryincluded=0&onstock=1
Exemplos de formatos de saída
O A-Parser suporta formatação flexível de resultados graças ao processador de modelos integrado Template Toolkit, o que permite exibir resultados em formato livre, bem como em formato estruturado, como CSV ou JSON.
Saída de nome, preço mínimo e classificação do produto
Formato do resultado:
$products.format('Nome: $title, Preço mínimo: $amountfrom, Classificação: $rating\n')
Exemplo de resultado:
Nome: Smartphone Apple iPhone 11 64GB, Preço mínimo: 46 244, Classificação: 4.7
Nome: Smartphone Apple iPhone Xr 64GB, Preço mínimo: 36 990, Classificação: 4.7
Nome: Smartphone Apple iPhone 12 64GB, Preço mínimo: 60 840, Classificação: 4.7
Nome: Smartphone Apple iPhone SE 2020 64GB, Preço mínimo: 33 490, Classificação: 4.5
Nome: Smartphone Apple iPhone Xr 128GB, Preço mínimo: 43 450, Classificação: 4.7
Saída em tabela CSV
Formato do resultado:
[% FOREACH item IN products;
tools.CSVline(item.cardlink, item.title, item.amountfrom, item.rating, item.commentscount);
END %]
Exemplo de resultado:
https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206538929466307988916001&context=search&text=iphone&sku=101106266737,"Smartphone Apple iPhone 11 64GB","46 244",4.7,810
https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206538929466307988916002&context=search&text=iphone&sku=101103379766,"Smartphone Apple iPhone Xr 64GB","36 990",4.7,624
https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206538929466307988916003&context=search&text=iphone&sku=101077347750,"Smartphone Apple iPhone 12 64GB","60 840",4.7,103
https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206538929466307988916004&context=search&text=iphone&sku=101099789863,"Smartphone Apple iPhone SE 2020 64GB","33 490",4.5,358
Texto inicial:
Link do produto, Nome do produto, Preço mínimo, Classificação, Número de comentários
No Formato de resultados, utiliza-se o processador de modelos Template Toolkit para exibir o array $products em um loop FOREACH.
Para que a opção "Prepend text" esteja disponível no Editor de tarefas, é necessário ativar "More options". No "Prepend text", escrevemos os nomes das colunas separados por vírgula e deixamos a segunda linha vazia.
Salvamento em formato SQL
Formato do resultado:
[% FOREACH item IN products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.cardlink _ "', '"; item.amountfrom _ "', '"; item.rating _ "')\n";
END %]
Exemplo de resultado:
INSERT INTO products VALUES('Smartphone Apple iPhone 11 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206542754162480526716001&context=search&text=iphone&sku=101106266737', '46 244', '4.7')
INSERT INTO products VALUES('Smartphone Apple iPhone Xr 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206542754162480526716002&context=search&text=iphone&sku=101103379766', '36 990', '4.7')
INSERT INTO products VALUES('Smartphone Apple iPhone 12 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206542754162480526716003&context=search&text=iphone&sku=101077347750', '60 840', '4.7')
INSERT INTO products VALUES('Smartphone Apple iPhone SE 2020 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206542754162480526716004&context=search&text=iphone&sku=101099789863', '33 490', '4.5')
Dump de 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.cardlink
name = item.title
amountfrom = item.amountfrom
});
END;
obj.json %]
Texto inicial:
[
Texto final:
]
Exemplo de resultado:
[
{
"query": "https://market.yandex.ru/catalog--mobilnye-telefony/54726/list?text=iphone&hid=91491&was_redir=1&rt=10&cpa=0&onstock=0&local-offers-first=0",
"items": [
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206548825917275667016001&context=search&text=iphone&sku=101106266737",
"amountfrom": "46 244",
"name": "Smartphone Apple iPhone 11 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206548825917275667016002&context=search&text=iphone&sku=101103379766",
"amountfrom": "36 990",
"name": "Smartphone Apple iPhone Xr 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206548825917275667016003&context=search&text=iphone&sku=101077347750",
"amountfrom": "60 840",
"name": "Smartphone Apple iPhone 12 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206548825917275667016004&context=search&text=iphone&sku=101099789863",
"amountfrom": "33 490",
"name": "Smartphone Apple iPhone SE 2020 64GB"
}
]
}
]
Para que as opções "Prepend text" e "Append text" estejam disponíveis no Editor de tarefas, é necessário ativar "More options".
Configurações possíveis
| Parâmetro | Valor padrão | Descrição |
|---|---|---|
| AntiGate preset | default | Seleção de preset Util::AntiGate, mais detalhes sobre a configuração aqui |
| AntiGate preset for old captcha | default | Semelhante ao AntiGate preset, mas usado apenas para captchas comuns (antigos, na forma de uma única imagem). Se nenhum preset for selecionado aqui, o preset selecionado em AntiGate preset será usado para esses captchas. |
| Auto-Solve ClickCaptcha | ☐ | Resolução automática de captcha de clique (sem o uso de serviços) |
| Experimental img captcha max count | 1 | Número máximo de tentativas de imagens de captcha repetidas por tentativa |
| Pages count | 5 | Número de páginas para extração de dados |
| Search region ID | Not set | Região para extração de dados |
