Trzeba stworzyć parser danych dotyczących wyników produktów na Rozetka według linków.
Parser powinien mieć dwa tryby pracy:
1. Porównanie kart produktów w wynikach
2. Sprawdzanie kart produktów w sklepie
1. Porównanie kart produktów w wynikach
Przykłady linków:
Zapytanie wyszukiwania:
https://rozetka.com.ua/ua/search/?text=%D0%B4%D0%B8%D1%82%D1%8F%D1%87%D0%B8%D0%B9%20%D1%84%D0%BE%D1%82%D0%BE%D0%B0%D0%BF%D0%B0%D1%80%D0%B0%D1%82
Kategoria produktu lub zapytanie przekształcające w kategorię:
https://rozetka.com.ua/ua/detskie-tsifrovie-fotoapparati-i-videokameri/c4674106/
Trzeba wypełnić tabelę wszystkimi danymi z tych wyników. Wypełniona tabela według tego linku jest dołączona.
Zapytanie o wypełnienie tabeli jest wykonywane ręcznie przez osobę, która podaje liczbę stron wyników do parsowania.
Tabela jest podzielona na trzy części.
Pierwsza, niebieska nagłówek - to miejsce w rankingu produktów, które są wyświetlane według linku, numer porządkowy karty z lewej do prawej i z góry na dół.
Druga, zielona nagłówek - to dane, które są pobierane z karty produktu w sekcji „Wszystko o produkcie”. Lista kolumn jest taka sama dla wszystkich kart. Jeśli w karcie będzie więcej niż dwie ceny, to ostateczna cena jest najniższa.
Trzecia, pomarańczowa nagłówek – to dane dotyczące dostawy. Dla każdego sposobu dostawy są dwa wartości – czas i taryfa. Aby pokazać wszystkie sposoby dostawy, miasto musi być Kijów. Lista dostaw może być różna dla różnych kart, i wszystkie muszą być wprowadzone do tabeli.
Czwarta, żółta nagłówek - to dane, które są pobierane z karty produktu w sekcji „Charakterystyki”. Lista kolumn i ich liczba różni się dla wszystkich kart, ponieważ różne produkty mają różne charakterystyki i ich liczba. Wszystkie charakterystyki muszą być wypełnione. Charakterystyki są opcjonalnymi polami w karcie, więc mogą być wypełnione lub nie.
***Jeśli parsowanie odbywa się według kategorii produktów lub według zapytania, które przekształca w kategorię, najpierw należy wyświetlić wszystkie charakterystyki, które są w filtrach wyników dla danej kategorii produktu, i pokolorować nagłówek tych kolumn na szaro. A inne charakterystyki umieścić dalej w prawo.
W całej tabeli, jeśli nie ma żadnych danych, komórka nie jest wypełniana.
Kolumny oznaczone gwiazdkami ** są kolumnami, które w tym trybie nie są wypełniane.
Również trzeba zrozumieć, że wyniki i dane w kartach zawsze się zmieniają. Dlatego jeśli przejdziesz pod ten link, wyniki będą już inne, a dane w kartach również.
2. Sprawdzanie kart produktów w sklepie
Używana jest ta sama tabela z różnicami, które są opisane poniżej.
Przykłady linków:
Wszystkie produkty sprzedawcy:
https://rozetka.com.ua/ua/seller/zemed/goods/
Pośrednia kategoria sklepu sprzedawcy https://rozetka.com.ua/ua/seller/zemed/goods/?section_id=2394297
Końcowa kategoria sklepu sprzedawcy https://rozetka.com.ua/ua/seller/zemed/goods/?section_id=4674576
Ustawienia raportu:
1. Wybrane produkty
2. Z charakterystykami / Bez charakterystyk
Wybrane produkty to możliwość dodania jednego lub kilku linków do produktów lub grupy produktów. Przy tym takie selekcje powinny mieć możliwość zapisu pod swoją nazwą i później wybierania z zapisanych.
Przy ustawieniu „Bez charakterystyk” parser nie powinien wyświetlać w tabeli charakterystyk produktów. Przy ustawieniu „Z charakterystykami” parser powinien tabelę dla każdej końcowej kategorii produktów, która nie ma podkategorii, umieszczać na osobnych arkuszach pliku z nazwą kategorii i wykonać warunek, który jest wyżej oznaczony ***. Przy tym, jeśli okaże się, że nie jest wypełniona chociaż jedna charakterystyka, która jest filtrowana w danej kategorii, w nazwie arkusza należy na początku dodać trzy znaki wykrzyknienia „!!!”.
Kolumny oznaczone gwiazdką ** są kolumnami, które są wypełniane tylko w trybie „Sprawdzanie kart produktów w sklepie” z ustawieniem „Bez charakterystyk”.