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

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

- 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
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"
}
]
}
]
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ètre | Valeur par défaut | Description |
|---|---|---|
| AntiGate preset | default | Choix de la présélection Util::AntiGate, plus de détails sur le réglage ici |
| AntiGate preset for old captcha | default | Identique à 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 ClickCaptcha | ☐ | Résolution automatique du captcha par clic (sans utiliser de services tiers) |
| Experimental img captcha max count | 1 | Nombre maximum de tentatives de répétition d'images captcha par essai |
| Pages count | 5 | Nombre de pages à collecter |
| Search region ID | Not set | Région pour la collecte de données |
