Shop::Wildberries::ProductsList - scraper listy produktów Wildberries

Przegląd scrapera
Używając scrapera produktów Wildberries, możesz pobierać dane o produktach z wyników wyszukiwania według słowa kluczowego lub z listy produktów konkretnej kategorii lub marki. Za jego pomocą można zebrać bazę linków do produktów, śledzić dynamikę cen produktów, zmiany liczby opinii lub oceny, zbierać zdjęcia produktów lub informacje o dostępnych kolorach i rozmiarach. Osobno zbierana jest również lista ogłoszeń reklamowych ze wskazaniem pozycji każdego z nich w wynikach organicznych. Scraper daje możliwość ustawienia sortowania wyników oraz wskazania punktu odbioru.
Funkcjonalność A-Parser pozwala zapisywać ustawienia scrapowania do późniejszego wykorzystania (presety), ustawiać harmonogram scrapowania i wiele więcej. Możesz korzystać z automatycznego powielania zapytań, podstawiania podzapytań z plików, generowania kombinacji alfanumerycznych i list w celu uzyskania maksymalnej możliwej liczby wyników.
Zbierane dane

- Liczba produktów
- Nazwa produktu
- Link do produktu
- Zdjęcie produktu
- Marka
- Cena i stara cena
- Ocena i liczba opinii
- Rozmiary i/lub kolory
- Dla ogłoszeń reklamowych - pozycja na liście produktów
- Lista fraz z "Inni szukali również" i "Może Ci się spodobać"
Warianty użycia
- Zbieranie linków do produktów
- Ocena popularności produktów
- Śledzenie dynamiki cen i popularności produktów
- Zbieranie bazy zdjęć produktów
- Określanie pozycji ogłoszeń reklamowych
Zapytania
Jako zapytania można wykorzystać:
Linki do listy produktów marki, na przykład:
https://www.wildberries.ru/brands/kristiano-fashion
https://www.wildberries.ru/brands/s-a-s
Linki do listy produktów w kategorii, na przykład:
https://www.wildberries.ru/catalog/elektronika/razvlecheniya-i-gadzhety/igrovye-konsoli/playstation
https://www.wildberries.ru/catalog/avtotovary/shiny-i-diski/shiny
Słowa kluczowe, dokładnie tak samo, jak gdybyś wpisywał je bezpośrednio w wyszukiwarkę Wildberries, na przykład:
xiaomi mi10
t-shirty i koszulki
radioodtwarzacz
Podstawienia zapytań
Przy używaniu słów kluczowych jako zapytań można wykorzystać wbudowane makra do powielania zapytań, na przykład jeśli wymagane jest uzyskanie większej liczby wyników niż oferują zwykłe wyniki wyszukiwania.
Na przykład, dla wyżej wymienionych słów kluczowych w formacie zapytania wskażemy generowanie znaków od a do zzzz, ta metoda pozwala maksymalnie rotować wyniki wyszukiwania i uzyskiwać mnóstwo nowych unikalnych wyników:
$query {az:a:zzzz}
To makro utworzy 475254 dodatkowych zapytań dla każdego początkowego zapytania, co w sumie da 4 x 475254 = 1901016 zapytań, liczba imponująca, ale nie stanowi to żadnego problemu dla A-Parsera. Przy prędkości 2000 zapytań na minutę takie zadanie zostanie przetworzone w zaledwie 16 godzin.
Warianty wyświetlania wyników
A-Parser obsługuje elastyczne formatowanie wyników dzięki wbudowanemu silnikowi szablonów Template Toolkit, co pozwala mu wyświetlać wyniki w dowolnej formie, a także w formie strukturalnej, np. CSV lub JSON
Wyświetlanie marki, nazwy i ceny
Format wyniku:
$items.format('$brand, $name, $price\n')
Przykład wyniku:
Xiaomi, Smartfon Poco X3 Pro / 6.67'' / 2400x1080 / IPS / 8 GB / 256 GB / 5160 mAh, 23751
Realme, Smartfon realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh, 19911
Apple, Smartfon iPhone 11 128GB / 6.1'' / 1792x828 / Liquid Retina HD / 128 GB, 54990
Apple, Smartfon iPhone 12 128GB / 6.1'' / 2532x1170 / OLED / 128 GB, 69990
Samsung, Smartfon Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh, 19791
Wyświetlanie z nazwami zmiennych
Format wyniku:
$items.format('Marka: $brand, Nazwa: $name, Cena: $price\n')
Przykład wyniku:
Marka: Samsung, Nazwa: Smartfon Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh, Cena: 19791
Marka: Realme, Nazwa: Smartfon realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh, Cena: 19911
Marka: Honor, Nazwa: Smartfon Honor 50 / 6.57'' / 2340x1080 / OLED / 6 GB / 128 GB / 4300 mAh, Cena: 31490
Marka: Apple, Nazwa: Smartfon iPhone 13 256GB / 6.1'' / 2532x1170 / OLED / 256 GB, Cena: 89990
Marka: Xiaomi, Nazwa: Smartfon 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh, Cena: 8990
Wyświetlanie wyniku z datą scrapowania w tabeli CSV
Format wyniku:
[% 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 %]
Przykład wyniku:
"2022 01 26 10:15","Smartfon 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh",8990,https://www.wildberries.ru/catalog/13615126/detail.aspx
"2022 01 26 10:15","Smartfon iPhone 13 128GB / 6.1'' / 2532x1170 / OLED / 128 GB",74390,https://www.wildberries.ru/catalog/40640907/detail.aspx
"2022 01 26 10:15","Smartfon Galaxy S21 256GB / 6.2'' / Dynamic AMOLED / 8 GB / 256 GB / 4000 mAh",64791,https://www.wildberries.ru/catalog/18592983/detail.aspx
"2022 01 26 10:15","Smartfon Galaxy M22 / 6.4'' / 720x1600 / Super AMOLED / 4 GB / 128 GB / 5000 mAh",17280,https://www.wildberries.ru/catalog/41501725/detail.aspx
Wyświetlanie nazwy, ceny i procentu rabatu na produkt w tabeli CSV
Format wyniku:
[% 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 %]
Przykład wyniku:
"Smartfon Poco X3 Pro / 6.67'' / 2400x1080 / IPS / 8 GB / 256 GB / 5160 mAh",23751,12%
"Smartfon realme 8 / 6.4'' / 2400x1080 / Super AMOLED / 6 GB / 128 GB / 5000 mAh",19911,17%
"Smartfon iPhone 12 128GB / 6.1'' / 2532x1170 / OLED / 128 GB",69990,0%
"Smartfon Galaxy A32 / 6.4'' / 2400x1080 / Super AMOLED / 4 GB / 128 GB / 5000 mAh",19791,10%
"Smartfon galaxy a52 / 6.5'' / 1080x2400 / Super AMOLED / 8 GB / 256 GB / 4500 mAh",28691,18%
Wyświetlanie w tabeli CSV
Format wyniku:
[% FOREACH item IN items;
tools.CSVline(item.link, item.name, item.price, item.oldPrice, item.rating, item.reviews);
END %]
Tekst początkowy:
Link do produktu, Nazwa produktu, Cena, Stara cena, Ocena, Liczba opinii
Przykład wyniku:
Link do produktu, Nazwa produktu, Cena, Stara cena, Ocena, Liczba opinii
https://www.wildberries.ru/catalog/54067214/detail.aspx,"Czapka beanie damska",703,1900,5,6
https://www.wildberries.ru/catalog/41415461/detail.aspx,"Czapka beanie damska / beanie z wywinięciem / Beanie",1487,1750,5,346
https://www.wildberries.ru/catalog/16782596/detail.aspx,"Czapka beanie damska / beanie z wywinięciem / Beanie",1487,1750,5,346
https://www.wildberries.ru/catalog/9468600/detail.aspx,"Czapka z szalikiem / z rękawiczkami / beanie damska",2700,4500,5,137
https://www.wildberries.ru/catalog/4750212/detail.aspx,"Beret",765,1075,5,349
https://www.wildberries.ru/catalog/9793364/detail.aspx,"Beret z szalikiem",3297,4710,5,307
Zapisywanie w formacie SQL
Format wyniku:
[% FOREACH item IN items;
"INSERT INTO products VALUES('" _ item.name _ "', '"; item.link _ "', '"; item.price _ "', '"; item.brand _ "')\n";
END %]
Przykład wyniku:
INSERT INTO products VALUES('Smartfon 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh', 'https://www.wildberries.ru/catalog/13615125/detail.aspx', '8990', 'Xiaomi')
INSERT INTO products VALUES('Smartfon 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('Smartfon 6.53'' / 1600x720 / 2 GB / 32 GB / 5000 mAh', 'https://www.wildberries.ru/catalog/13615126/detail.aspx', '8990', 'Xiaomi')
Zrzut wyników do JSON
Ogólny format wyniku:
[% 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 %]
Tekst początkowy:
[
Tekst końcowy:
]
Przykład wyniku:
[
{
"query": "smartfon",
"items": [
{
"link": "https://www.wildberries.ru/catalog/27379808/detail.aspx",
"name": "Smartfon 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": "Smartfon iPhone 11 128GB / 6.1'' / 1792x828 / Liquid Retina HD / 128 GB",
"price": 54990
},
{
"link": "https://www.wildberries.ru/catalog/15875669/detail.aspx",
"name": "Smartfon iPhone 12 128GB / 6.1'' / 2532x1170 / OLED / 128 GB",
"price": 69990
},
...
]
},
...
]
Aby opcje "Prepend text" i "Append text" były dostępne w Edytorze zadań, należy aktywować "More options".
Możliwe ustawienia
| Parametr | Wartość domyślna | Opis |
|---|---|---|
| Pages count | 5 | Liczba stron do scrapowania |
| Sort by | Popularity | Sortowanie wyników |
| Address | Adres punktu odbioru | |
| Longitude | Długość geograficzna punktu odbioru | |
| Latitude | Szerokość geograficzna punktu odbioru |
Domyślnie Wildberries wyświetla wyniki dla Moskwy. W scraperze istnieje możliwość ustawienia punktu odbioru, a lista wyników zostanie powiązana z konkretną lokalizacją. Aby to zrobić, należy nadpisać 3 parametry: Address, Longitude i Latitude. Niezbędne wartości dla tych parametrów można uzyskać w przeglądarce:
1. Wybieramy żądany punkt odbioru, otwierając wcześniej Narzędzia deweloperskie (w Chrome klawisz F12)

2. W zakładce „Sieć” szukamy zapytania create?version=1 i kopiujemy dane do ustawień scrapera
Po wybraniu punktu odbioru otwórz zakładkę Sieć (w Chrome po angielsku — Network). Znajdź zapytanie create?version=1, w odpowiedzi (Preview) skopiuj address, lat i lon odpowiednio do pól Address, Latitude i Longitude scrapera.
