Shop::Wildberries::ProductsList - scraper för Wildberries produktlistor

Översikt av scrapern
Genom att använda Wildberries produktscraper kan du hämta data om produkter från sökresultat baserat på sökord eller från en lista över produkter i en specifik kategori eller ett varumärke. Med dess hjälp kan du samla en bas av produktlänkar, spåra prisdynamik, ändringar i antal recensioner eller betyg, samla produktbilder eller information om tillgängliga färger och storlekar. Dessutom samlas en separat lista över annonser med angivelse av varje annons position i det organiska sökresultatet. Scrapern ger möjlighet att ställa in sortering av resultat och ange utlämningsställe.
Funktionaliteten i A-Parser gör det möjligt att spara inställningar för dataskrapning för framtida bruk (förinställningar), schemalägga dataskrapning och mycket mer. Du kan använda automatisk multiplikation av frågor, substitution av underfrågor från filer, generering av alfanumeriska kombinationer och listor för att få största möjliga antal resultat.
Insamlade data

- Antal produkter
- Produktnamn
- Länk till produkten
- Produktbild
- Varumärke
- Pris och tidigare pris
- Betyg och antal recensioner
- Storlekar och/eller färger
- För annonser - position i produktlistan
- Lista över sökord från "Andra söker också på" och "Du kanske också gillar"
Användningsfall
- Insamling av produktlänkar
- Bedömning av produkters popularitet
- Spårning av prisdynamik och produkters popularitet
- Insamling av en mängd produktbilder
- Fastställande av annonspositioner
Frågor
Som frågor kan du använda:
Länkar till en lista över produkter från ett varumärke, till exempel:
https://www.wildberries.ru/brands/kristiano-fashion
https://www.wildberries.ru/brands/s-a-s
Länkar till en lista över produkter i en kategori, till exempel:
https://www.wildberries.ru/catalog/elektronika/razvlecheniya-i-gadzhety/igrovye-konsoli/playstation
https://www.wildberries.ru/catalog/avtotovary/shiny-i-diski/shiny
Sökord, på samma sätt som om du skrev in dem direkt i Wildberries sökfält, till exempel:
xiaomi mi10
t-shirts och linnen
bilstereo
Frågesubstitutioner
När du använder sökord som frågor kan du använda inbyggda makron för att multiplicera frågorna, till exempel om du behöver få fler resultat än vad det vanliga sökresultatet ger.
Till exempel, för ovanstående sökord i frågeformatet anger vi en genomgång av tecken från a till zzzz, denna metod gör det möjligt att maximera rotationen av sökresultaten och få många nya unika resultat:
$query {az:a:zzzz}
Detta makro kommer att skapa 475254 extra frågor för varje ursprunglig sökfråga, vilket totalt ger 4 x 475254 = 1901016 sökfrågor. Siffran är imponerande, men det är inget problem alls för A-Parser. Med en hastighet på 2000 frågor per minut kommer en sådan uppgift att bearbetas på bara 16 timmar.
Exempel på resultatutmatning
A-Parser stöder flexibel formatering av resultat tack vare den inbyggda mallhanteraren Template Toolkit, vilket gör det möjligt att mata ut resultat i valfri form, samt i strukturerad form som CSV eller JSON.
Utmatning av varumärke, namn och pris
Resultatformat:
$items.format('$brand, $name, $price\n')
Exempel på resultat:
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
Utmatning med variabelnamn
Resultatformat:
$items.format('Varumärke: $brand, Namn: $name, Pris: $price\n')
Exempel på resultat:
Varumärke: Samsung, Namn: Smartphone Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh, Pris: 19791
Varumärke: Realme, Namn: Smartphone realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh, Pris: 19911
Varumärke: Honor, Namn: Smartphone Honor 50 / 6.57'' / 2340x1080 / OLED / 6 GB / 128 GB / 4300 mAh, Pris: 31490
Varumärke: Apple, Namn: Smartphone iPhone 13 256GB / 6.1'' / 2532x1170 / OLED / 256 GB, Pris: 89990
Varumärke: Xiaomi, Namn: Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh, Pris: 8990
Utmatning av resultat med datum för dataskrapning i en CSV-tabell
Resultatformat:
[% 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 %]
Exempel på resultat:
"2022 01 26 10:15","Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh*h",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*h",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*h",17280,https://www.wildberries.ru/catalog/41501725/detail.aspx
Utmatning av namn, pris och rabattprocent på produkten i en CSV-tabell
Resultatformat:
[% 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 %]
Exempel på resultat:
"Smartphone Poco X3 Pro / 6.67'' / 2400x1080 / IPS / 8 GB / 256 GB / 5160 mAh*h",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*h",28691,18%
Utmatning i en CSV-tabell
Resultatformat:
[% FOREACH item IN items;
tools.CSVline(item.link, item.name, item.price, item.oldPrice, item.rating, item.reviews);
END %]
Starttext:
Länk till produkten, Produktnamn, Pris, Tidigare pris, Betyg, Antal recensioner
Exempel på resultat:
Länk till produkten, Produktnamn, Pris, Tidigare pris, Betyg, Antal recensioner
https://www.wildberries.ru/catalog/54067214/detail.aspx,"Mössa beanie dam",703,1900,5,6
https://www.wildberries.ru/catalog/41415461/detail.aspx,"Mössa beanie dam / beanie med uppvik / Beanie",1487,1750,5,346
https://www.wildberries.ru/catalog/16782596/detail.aspx,"Mössa beanie dam / beanie med uppvik / Beanie",1487,1750,5,346
https://www.wildberries.ru/catalog/9468600/detail.aspx,"Mössa med halsduk / med handskar / beanie dam",2700,4500,5,137
https://www.wildberries.ru/catalog/4750212/detail.aspx,"Basker",765,1075,5,349
https://www.wildberries.ru/catalog/9793364/detail.aspx,"Basker med halsduk",3297,4710,5,307
Spara i SQL-format
Resultatformat:
[% FOREACH item IN items;
"INSERT INTO products VALUES('" _ item.name _ "', '"; item.link _ "', '"; item.price _ "', '"; item.brand _ "')\n";
END %]
Exempel på resultat:
INSERT INTO products VALUES('Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh', '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', 'https://www.wildberries.ru/catalog/23155682/detail.aspx', '24291', 'Samsung')
INSERT INTO products VALUES('Smartphone 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh', 'https://www.wildberries.ru/catalog/13615126/detail.aspx', '8990', 'Xiaomi')
Dumpa resultat till JSON
Allmänt resultatformat:
[% 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 %]
Starttext:
[
Sluttext:
]
Exempel på resultat:
[
{
"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
},
...
]
},
...
]
För att alternativen "Prepend text" och "Append text" ska vara tillgängliga i Task Editor, måste du aktivera "More options".
Möjliga inställningar
| Parameter | Standardvärde | Beskrivning |
|---|---|---|
| Pages count | 5 | Antal sidor att skrapa |
| Sort by | Popularity | Sortering av resultat |
| Address | Adress till utlämningsställe | |
| Longitude | Longitud för utlämningsställe | |
| Latitude | Latitud för utlämningsställe |
Som standard visar Wildberries resultat för Moskva. I scrapern finns möjlighet att ange ett utlämningsställe och resultatlistan kommer då att vara knuten till den specifika platsen. För att göra detta behöver du åsidosätta 3 parametrar: Address, Longitude och Latitude. Du kan hämta de nödvändiga värdena för dessa parametrar i webbläsaren:
1. Välj önskat utlämningsställe efter att först ha öppnat Utvecklarverktyg (i Chrome tangenten F12)

2. I fliken "Nätverk" letar vi efter anropet create?version=1 och kopierar data till scraperns inställningar
Efter att ha valt utlämningsställe, öppna fliken Nätverk (i Chrome på engelska — Network). Leta reda på anropet create?version=1, i svaret (Preview) kopierar du address, lat och lon till fälten Address, Latitude respektive Longitude i scrapern.
