Passer au contenu principal

Shop::Yandex::Market - Scraper de produits Yandex Market

img

Présentation du scraper

En utilisant le scraper de produits Yandex Market, vous pouvez extraire des données à partir des fiches produits, constituer une base de liens vers les produits, suivre la dynamique des prix, surveiller les changements du nombre de vendeurs, collecter les notes de classement et le nombre d'avis sur les produits, ainsi que récupérer les images des produits.

Les fonctionnalités d'A-Parser permettent de sauvegarder les paramètres de collecte de données pour une utilisation ultérieure (présélections), de définir des planifications de collecte et bien plus encore. Vous pouvez utiliser la multiplication automatique des requêtes, la substitution de sous-requêtes à partir de fichiers, l'itération de combinaisons alphanumériques et de listes pour obtenir le maximum de résultats possible.

Données collectées

img

  • Nom du produit
  • Lien vers le produit
  • Image du produit
  • Prix et ancien prix
  • Devise
  • Note et nombre de commentaires
  • Nombre de vendeurs
  • Informations complémentaires
  • Nombre d'achats et de vues du produit

Cas d'utilisation

  • Collecte de liens vers les produits
  • Évaluation de la popularité des produits
  • Suivi de la dynamique des prix et de la popularité des produits

Requêtes

Comme requêtes, il est nécessaire d'indiquer des mots-clés ou un lien vers une catégorie, par exemple :

xiaomi redmi note
https://market.yandex.ru/catalog/54726/list?local-offers-first=0&deliveryincluded=0&onstock=1ы

Exemples de formats de sortie

A-Parser prend en charge un formatage flexible des résultats grâce au moteur de gabarit intégré Template Toolkit, ce qui lui permet de sortir les résultats sous n'importe quelle forme, ainsi que dans des formats structurés tels que CSV ou JSON.

Affichage du nom, du prix minimum et de la note du produit

Format du résultat :

$products.format('Nom: $title, Prix minimum: $amountfrom, Note: $rating\n')

Exemple de résultat :

Nom: Smartphone Apple iPhone 11 64GB, Prix minimum: 46 244,  Note: 4.7
Nom: Smartphone Apple iPhone Xr 64GB, Prix minimum: 36 990, Note: 4.7
Nom: Smartphone Apple iPhone 12 64GB, Prix minimum: 60 840, Note: 4.7
Nom: Smartphone Apple iPhone SE 2020 64GB, Prix minimum: 33 490, Note: 4.5
Nom: Smartphone Apple iPhone Xr 128GB, Prix minimum: 43 450, Note: 4.7

Sortie dans un tableau CSV

Format du résultat :

[% FOREACH item IN products;   
tools.CSVline(item.cardlink, item.title, item.amountfrom, item.rating, item.commentscount);
END %]

Exemple de résultat :

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

Texte initial :

Lien vers le produit, Nom du produit, Prix minimum, Note, Nombre de commentaires

astuce

Dans le Format des résultats, le moteur de gabarit Template Toolkit est utilisé pour afficher le tableau $products dans une boucle FOREACH.

Pour que l'option "Texte initial" soit disponible dans l'Éditeur de tâches, vous devez activer "Plus d'options". Dans "Texte initial", nous inscrivons les noms des colonnes séparés par une virgule et nous laissons la deuxième ligne vide.

Sauvegarde au format SQL

Format du résultat :

[% FOREACH item IN products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.cardlink _ "', '"; item.amountfrom _ "', '"; item.rating _ "')\n";
END %]

Exemple de résultat :

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 des résultats en JSON

Format de sortie general:

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

Texte initial:

[

Texte final:

]

Exemple de résultat :

[
{
"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"
}
]
}
]
astuce

Pour que les options "Texte initial" et "Texte final" soient disponibles dans l'Éditeur de tâches, vous devez activer "Plus d'options".

Paramètres possibles

ParamètreValeur par défautDescription
AntiGate presetdefaultChoix de la présélection Util::AntiGateUtil::AntiGate, plus de détails sur le réglage ici
AntiGate preset for old captchadefaultIdentique à AntiGate preset, mais utilisé uniquement pour les captchas classiques (anciens, sous forme d'une seule image). Si aucune présélection n'est choisie ici, la présélection choisie dans AntiGate preset sera utilisée pour ces captchas.
Auto-Solve ClickCaptchaRésolution automatique du captcha par clic (sans utiliser de services tiers)
Experimental img captcha max count1Nombre maximum de tentatives de répétition d'images captcha par essai
Pages count5Nombre de pages à collecter
Search region IDNot setRégion pour la collecte de données