Shop::Wildberries::ProductsList - Wildberries productenlijst scraper

Overzicht van de scraper
Met de Wildberries product-scraper kunt u gegevens over producten ophalen uit zoekresultaten op trefwoord of uit een lijst met producten van een specifieke categorie of merk. Hiermee kunt u een database met productlinks opbouwen, prijsdynamiek volgen, wijzigingen in het aantal reviews of de rating monitoren, productafbeeldingen verzamelen of informatie over beschikbare kleuren en maten ophalen. Ook wordt er een aparte lijst met advertenties verzameld, inclusief de positie van elke advertentie in de organische zoekresultaten. De scraper biedt de mogelijkheid om de sortering van resultaten in te stellen en een specifiek afhaalpunt op te geven.
De functionaliteit van A-Parser maakt het mogelijk om instellingen voor gegevensextractie op te slaan voor toekomstig gebruik (presets), schema's voor gegevensextractie in te stellen en nog veel meer. U kunt automatische query-vermenigvuldiging gebruiken, subquery's uit bestanden invoegen, alfanumerieke combinaties en lijsten doorlopen om het maximaal mogelijke aantal resultaten te verkrijgen.
Verzamelde gegevens

- Aantal producten
- Productnaam
- Link naar het product
- Productafbeelding
- Merk
- Prijs en oude prijs
- Rating en aantal reviews
- Maten en/of kleuren
- Voor advertenties - positie in de productlijst
- Lijst met zoekwoorden uit "Anderen zochten ook naar" en "Misschien vindt u dit ook leuk"
Varianten van gebruik
- Verzamelen van links naar producten
- Beoordelen van de populariteit van producten
- Volgen van prijsdynamiek en populariteit van producten
- Verzamelen van een reeks productafbeeldingen
- Bepalen van posities van advertenties
Query's
Als query's kunt u het volgende gebruiken:
Links naar de productlijst van een merk, bijvoorbeeld:
https://www.wildberries.ru/brands/kristiano-fashion
https://www.wildberries.ru/brands/s-a-s
Links naar de productlijst in een categorie, bijvoorbeeld:
https://www.wildberries.ru/catalog/elektronika/razvlecheniya-i-gadzhety/igrovye-konsoli/playstation
https://www.wildberries.ru/catalog/avtotovary/shiny-i-diski/shiny
Trefwoorden, op precies dezelfde manier als wanneer u ze rechtstreeks in het zoekveld van Wildberries zou invoeren, bijvoorbeeld:
xiaomi mi10
t-shirts en hemdjes
autoradio
Query-substituties
Bij het gebruik van trefwoorden als query's kunt u ingebouwde macro's gebruiken voor query-vermenigvuldiging, bijvoorbeeld als u meer resultaten wilt verkrijgen dan de standaard zoekresultaten bieden.
Bijvoorbeeld, voor de hierboven genoemde trefwoorden geven we in het query-formaat een bereik aan van a tot zzzz, deze methode maakt het mogelijk om de zoekresultaten maximaal te roteren en veel nieuwe unieke resultaten te verkrijgen:
$query {az:a:zzzz}
Deze macro genereert 475254 extra query's voor elke oorspronkelijke zoekopdracht, wat in totaal 4 x 475254 = 1901016 zoekopdrachten oplevert. Een indrukwekkend getal, maar dat is geen enkel probleem voor A-Parser. Bij een snelheid van 2000 query's per minuut wordt een dergelijke taak in slechts 16 uur verwerkt.
Varianten van resultaatweergave
A-Parser ondersteunt flexibele formattering van resultaten dankzij de ingebouwde sjabloon-engine Template Toolkit, waardoor resultaten in een willekeurige vorm kunnen worden weergegeven, evenals in gestructureerde formaten zoals CSV of JSON.
Weergave van merk, naam en prijs
Resultaatformaat:
$items.format('$brand, $name, $price\n')
Voorbeeld van resultaat:
Xiaomi, Smartphone Poco X3 Pro / 6.67'' / 2400x1080 / IPS / 8 GB / 256 GB / 5160 mAh, 23751
Realme, Smartphone realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh, 19911
Apple, Smartphone iPhone 11 128GB / 6.1'' / 1792x828 / Liquid Retina HD / 128 GB, 54990
Apple, Smartphone iPhone 12 128GB / 6.1'' / 2532x1170 / OLED / 128 GB, 69990
Samsung, Smartphone Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh, 19791
Weergave met variabelenamen
Resultaatformaat:
$items.format('Merk: $brand, Naam: $name, Prijs: $price\n')
Voorbeeld van resultaat:
Merk: Samsung, Naam: Smartphone Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh, Prijs: 19791
Merk: Realme, Naam: Smartphone realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh, Prijs: 19911
Merk: Honor, Naam: Smartphone Honor 50 / 6.57'' / 2340x1080 / OLED / 6 GB / 128 GB / 4300 mAh, Prijs: 31490
Merk: Apple, Naam: Smartphone iPhone 13 256GB / 6.1'' / 2532x1170 / OLED / 256 GB, Prijs: 89990
Merk: Xiaomi, Naam: Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh, Prijs: 8990
Weergave van resultaat met datum van gegevensextractie in een CSV-tabel
Resultaatformaat:
[% USE d = date(format = '%Y %m %d %H:%M', locale = 'C');
FOREACH item IN items;
tools.CSVline(d.format(), item.name, item.price, item.link);
END %]
Voorbeeld van resultaat:
"2022 01 26 10:15","Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh*u",8990,https://www.wildberries.ru/catalog/13615126/detail.aspx
"2022 01 26 10:15","Smartphone iPhone 13 128GB / 6.1'' / 2532x1170 / OLED / 128 GB",74390,https://www.wildberries.ru/catalog/40640907/detail.aspx
"2022 01 26 10:15","Smartphone Galaxy S21 256GB / 6.2'' / Dynamic AMOLED / 8 GB / 256 GB / 4000 mAh*u",64791,https://www.wildberries.ru/catalog/18592983/detail.aspx
"2022 01 26 10:15","Smartphone Galaxy M22 / 6.4'' / 720x1600 / Super AMOLED / 4 GB / 128 GB / 5000 mAh*u",17280,https://www.wildberries.ru/catalog/41501725/detail.aspx
Weergave van naam, prijs en kortingspercentage op het product in een CSV-tabel
Resultaatformaat:
[% USE Math;
FOREACH item IN items;
discount = item.oldPrice ? (item.oldPrice - item.price) / item.oldPrice * 100 : 0;
tools.CSVline(item.name, item.price, Math.int(discount + 0.5) _ '%');
END %]
Voorbeeld van resultaat:
"Smartphone Poco X3 Pro / 6.67'' / 2400x1080 / IPS / 8 GB / 256 GB / 5160 mAh*u",23751,12%
"Smartphone realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh",19911,17%
"Smartphone iPhone 12 128GB / 6.1'' / 2532x1170 / OLED / 128 GB",69990,0%
"Smartphone Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh",19791,10%
"Smartphone galaxy a52 / 6.5'' / 1080x2400 / Super AMOLED / 8 GB / 256 GB / 4500 mAh*u",28691,18%
Weergave in een CSV-tabel
Resultaatformaat:
[% FOREACH item IN items;
tools.CSVline(item.link, item.name, item.price, item.oldPrice, item.rating, item.reviews);
END %]
Begintekst:
Link naar product, Productnaam, Prijs, Oude prijs, Rating, Aantal reviews
Voorbeeld van resultaat:
Link naar product, Productnaam, Prijs, Oude prijs, Rating, Aantal reviews
https://www.wildberries.ru/catalog/54067214/detail.aspx,"Beanie muts dames",703,1900,5,6
https://www.wildberries.ru/catalog/41415461/detail.aspx,"Beanie muts dames / beanie met omslag / Beanie",1487,1750,5,346
https://www.wildberries.ru/catalog/16782596/detail.aspx,"Beanie muts dames / beanie met omslag / Beanie",1487,1750,5,346
https://www.wildberries.ru/catalog/9468600/detail.aspx,"Muts met sjaal / met handschoenen / beanie dames",2700,4500,5,137
https://www.wildberries.ru/catalog/4750212/detail.aspx,"Baret",765,1075,5,349
https://www.wildberries.ru/catalog/9793364/detail.aspx,"Baret met sjaal",3297,4710,5,307
Opslaan in SQL-formaat
Resultaatformaat:
[% FOREACH item IN items;
"INSERT INTO products VALUES('" _ item.name _ "', '"; item.link _ "', '"; item.price _ "', '"; item.brand _ "')\n";
END %]
Voorbeeld van resultaat:
INSERT INTO products VALUES('Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh*u', 'https://www.wildberries.ru/catalog/13615125/detail.aspx', '8990', 'Xiaomi')
INSERT INTO products VALUES('Smartphone galaxy a52 / 6.5'' / 1080x2400 / Super AMOLED / 4 GB / 128 GB / 4500 mAh*u', 'https://www.wildberries.ru/catalog/23155682/detail.aspx', '24291', 'Samsung')
INSERT INTO products VALUES('Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh*u', 'https://www.wildberries.ru/catalog/13615126/detail.aspx', '8990', 'Xiaomi')
Dump van resultaten naar JSON
Algemeen resultaatformaat:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = query;
obj.items = [];
FOREACH item IN p1.items;
obj.items.push({
link = item.link
name = item.name
price = item.price
});
END;
obj.json %]
Begintekst:
[
Eindtekst:
]
Voorbeeld van resultaat:
[
{
"query": "smartphone",
"items": [
{
"link": "https://www.wildberries.ru/catalog/27379808/detail.aspx",
"name": "Smartphone realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh",
"price": 19911
},
{
"link": "https://www.wildberries.ru/catalog/16023994/detail.aspx",
"name": "Smartphone iPhone 11 128GB / 6.1'' / 1792x828 / Liquid Retina HD / 128 GB",
"price": 54990
},
{
"link": "https://www.wildberries.ru/catalog/15875669/detail.aspx",
"name": "Smartphone iPhone 12 128GB / 6.1'' / 2532x1170 / OLED / 128 GB",
"price": 69990
},
...
]
},
...
]
Om de opties "Prepend text" en "Append text" beschikbaar te maken in de Taak-editor, moet u "More options" activeren.
Mogelijke instellingen
| Parameter | Standaardwaarde | Beschrijving |
|---|---|---|
| Pages count | 5 | Aantal pagina's om te scrapen |
| Sort by | Popularity | Sortering van resultaten |
| Address | Adres van afhaalpunt | |
| Longitude | Lengtegraad van afhaalpunt | |
| Latitude | Breedtegraad van afhaalpunt |
Standaard toont Wildberries resultaten voor Moskou. In de scraper is het mogelijk om een afhaalpunt in te stellen, zodat de lijst met resultaten wordt gekoppeld aan een specifieke locatie. Om dit te doen, moet u 3 parameters overschrijven: Address, Longitude en Latitude. U kunt de benodigde waarden voor deze parameters in de browser vinden:
1. Selecteer het gewenste afhaalpunt, nadat u eerst de Ontwikkelaarstools heeft geopend (in Chrome toets F12)

2. Zoek in het tabblad «Netwerk» naar de aanvraag create?version=1 en kopieer de gegevens naar de instellingen van de scraper
Na het selecteren van het afhaalpunt opent u het tabblad Netwerk (in Chrome in het Engels — Network). Zoek de aanvraag create?version=1, kopieer in het antwoord (Preview) de waarden van address, lat en lon naar respectievelijk de velden Address, Latitude en Longitude van de scraper.
