Jak Parsować Dane Produktów z URL

· Czas czytania: 7 min

Skopiowanie ceny, SKU i trzech zdjęć ze strony dostawcy do arkusza kalkulacyjnego zajmuje kilka minut. Zrób to dla 150 pozycji w projekcie mieszkaniowym, a stracisz cały dzień pracy, a jako bonus dostaniesz literówki. Ten przewodnik pokazuje, jak niezawodnie parsować dane produktów z adresów URL: najpierw sprawdź dane ustrukturyzowane, wyodrębnij potrzebne pola, przejdź do parsowania układu, gdy brakuje znacznika, i wyczyść wynik, aby można go było bezpośrednio wprowadzić do kosztorysu.

Co jest potrzebne przed krokiem 1:

  • Lista adresów URL produktów od dostawców (jeden na produkt, nie strony kategorii)
  • Przeglądarka z narzędziami deweloperskimi lub środowisko Python, jeśli chcesz to zautomatyzować
  • Docelowy format danych: nazwa, SKU, cena, waluta, obrazy, wymiary
  • Zasada dotycząca Twojej waluty bazowej, aby można było porównywać ceny

Dlaczego parsowanie adresów URL produktów jest lepsze od ręcznego wprowadzania

Ręczne wprowadzanie danych zawodzi na trzy przewidywalne sposoby. Jest powolne. Wprowadza błędy, takie jak zamieniona cyfra w SKU lub skopiowana cena z niewłaściwym symbolem waluty. I staje się nieaktualne w momencie zakończenia, ponieważ nikt nie sprawdza ponownie strony dostawcy w połowie procesu zaopatrzenia.

Nauka parsowania danych produktów z adresów URL zamienia każdy z nich w spójny rekord. Samouczki od Oxylabs i Zyte pokazują ogólny schemat: żądaj strony, zlokalizuj pola, przechowuj je w ustrukturyzowanym formacie. Ta sama logika dotyczy produktów wyposażenia wnętrz, niezależnie od tego, czy piszesz skrypt samodzielnie, czy używasz narzędzia, które to robi za Ciebie.

Dla projektanta nagrodą nie jest elegancja. Jest nią spójność. Kiedy każdy produkt dociera z tymi samymi polami, możesz sortować według ceny, grupować według pomieszczenia i wyłapać tę jedną lampę wycenioną w dolarach wśród czterdziestu wycenionych w euro. To jest różnica między listą zakupów a roboczym kosztorysem.

Krok 1: Sprawdź, czy strona dostawcy zawiera dane produktu w formacie JSON-LD

Zanim napiszesz selektor lub nauczysz się nowego narzędzia, dowiedz się, czy strona już udostępnia czyste dane. Wiele stron dostawców osadza ustrukturyzowane dane w tagu skryptu z typem application/ld+json. Znajduje się on z dala od widocznego układu i istnieje po to, aby wyszukiwarki i inne systemy mogły spójnie odczytywać produkt.

Aby sprawdzić, otwórz stronę produktu, wyświetl jej kod źródłowy i wyszukaj ld+json. Jeśli znajdziesz blok, przeczytaj go. Szukasz typu Product zazwyczaj z zagnieżdżonym Offer zawierającym cenę. Darmowy ekstraktor i walidator schematów JSON-LD może wyciągnąć te bloki dla Ciebie i oznaczyć, co jest obecne, co pomaga, gdy kod źródłowy strony jest ścianą zminimalizowanego kodu.

Dwa zastrzeżenia. Nie każda strona publikuje ustrukturyzowane dane, a narzędzia, które na nich polegają, nie zwracają niczego dla stron bez znaczników. A strona może zawierać kilka typów schematów naraz (okruszki nawigacyjne, organizacja, produkt), więc upewnij się, że czytasz blok Product , a nie coś obok niego.

Przeprowadź tę kontrolę na jednym produkcie od każdego dostawcy, a nie na każdym adresie URL. Dostawcy zazwyczaj używają jednego szablonu w całym katalogu, więc pojedynczy wynik powie Ci, jak zachowają się pozostałe.

Krok 2: Wyodrębnij nazwę, SKU, cenę i obrazy ze strukturalnych danych

Gdy dane JSON-LD są dostępne, ekstrakcja jest prosta, ponieważ pola są oznaczone etykietami. Narzędzie takie jak „ e-commerce schema extractor” odczytuje nazwę, cenę, walutę, dostępność, markę, SKU, GTIN, ocenę i obrazy ze schematu schema.org JSON-LD, mikrodanych i OpenGraph, co obejmuje większość tego, czego potrzebuje projektant.

Jeśli wolisz samodzielnie napisać skrypt do parsowania danych produktu z adresów URL, proces jest krótki. Pobierz stronę, znajdź każdy „ ld+json script”, sparsuj każdy jako JSON i wybierz obiekt, którego typ to „ Product”. Następnie odczytaj te pola:

  • name: tytuł produktu
  • sku lub „ gtin: identyfikator, który podasz w zamówieniach zakupu
  • brand: producent
  • image: jeden adres URL lub lista adresów URL
  • offers: cena, waluta i dostępność

Zwróć uwagę na parę cena i waluta. Są to oddzielne pola, a traktowanie samej liczby jako euro jest dokładnie tym, jak budżet po cichu idzie źle. Zawsze przechwytuj oba.

Sprawdź również, jak wyświetlane są obrazy. Niektóre strony podają jeden główny obraz, inne pełną galerię. W przypadku tablic prezentacyjnych chcesz wersji o najwyższej rozdzielczości, więc spójrz na wzorzec adresu URL i zobacz, czy istnieje większy wariant.

Zaletą tej metody jest stabilność. Ponieważ strukturalne dane znajdują się we własnym tagu skryptu, przeprojektowanie strony, które zmienia układ, rzadko je psuje, więc parsowanie jest znacznie mniej kruche niż cokolwiek zbudowanego na selektorach.

Krok 3: Powrót do parsowania układu i obsługa zablokowanych lub opartych na JavaScript stron

Niektóre strony nie mają użytecznych danych strukturalnych. W takim przypadku analizujesz widoczny układ, lokalizując elementy po ich tagach i klasach CSS. Przewodnik po „ scrapingu stron internetowych w Pythonie w celu uzyskania informacji o produktach” pokazuje ten styl, używając specyficznych selektorów, takich jak nagłówek „product-title”, aby wyciągnąć nazwę.

Nauka parsowania danych produktów z adresów URL za pomocą analizy układu działa, ale jest zawodna. Selektory zależą od sposobu budowy strony, więc gdy dostawca zaktualizuje swój szablon, Twoje ekstrakcje mogą cicho nie zwracać niczego lub pobierać niewłaściwy element. Przechowuj swoje selektory w jednym miejscu, aby łatwo je poprawić, i sprawdzaj wyrywkowo wyniki za każdym razem, gdy dostawca ponownie uruchamia swoją witrynę.

Często pojawiają się dwie kolejne przeszkody:”]} ody:”]} przeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} :”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} :”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:”]} ody:”]} zeszkody:

  • Blokowanie. Wielcy sprzedawcy detaliczni odrzucą proste żądanie skryptu. Wysyłanie realistycznych nagłówków żądań pomaga, chociaż niektóre strony potrzebują czegoś więcej.
  • Renderowanie JavaScript. Jeśli cena lub galeria pojawia się dopiero po uruchomieniu skryptów strony, proste żądanie widzi pustą skorupę. W przypadku tych stron potrzebujesz przeglądarki bez interfejsu użytkownika, takiej jak Playwright lub Selenium, która ładuje stronę tak, jak zrobiłaby to przeglądarka człowieka, zanim ją odczytasz.

Jeśli to brzmi jak więcej inżynierii, niż studio projektowe chce się podjąć, to zrozumiałe. Właśnie tę lukę wypełnia Web Clipper ArchiBoard zasilany przez AI: pobiera zdjęcia, ceny i numery SKU z adresu URL dostawcy, bez konieczności utrzymywania selektorów czy konfiguracji renderowania. Niezależnie od wybranej ścieżki, przetestuj ją na kilku rzeczywistych adresach URL od każdego dostawcy, zanim zaufasz jej w pełnym projekcie. Sukces na jednej stronie niewiele mówi o kolejnej.

Krok 4: Normalizacja waluty, usuwanie duplikatów i wprowadzanie szacunków

Wiedza o tym, jak parsować dane produktów z adresów URL, to dopiero połowa sukcesu, ponieważ surowe dane nie są jeszcze użyteczne. Ostatni krok sprawia, że stają się porównywalne.

Normalizuj walutę. Przechowuj oryginalną cenę i walutę tak, jak zostały pobrane, a następnie przelicz je na walutę bazową projektu, używając kursu, który zapisujesz wraz z datą. Zachowaj oryginalną kwotę, ponieważ kursy się zmieniają, a dostawcy wystawiają faktury w swojej walucie. ArchiBoard radzi sobie z tym dzięki szacunkom w wielu walutach w czasie rzeczywistym, dzięki czemu każda pozycja jest przeliczana na walutę projektu bez potrzeby tworzenia dodatkowego arkusza kalkulacyjnego.

Usuń duplikaty. Ten sam produkt często pojawia się pod różnymi adresami URL: parametry śledzenia, warianty kolorystyczne, domeny regionalne, ukośniki na końcu. Usuń niepotrzebne ciągi zapytania, zamień host na małe litery i użyj SKU lub GTIN jako klucza głównego, jeśli istnieje. Dwa rekordy z tym samym SKU od tego samego dostawcy to prawie na pewno jeden produkt.

Sprawdź pola, które mają znaczenie w branży wnętrzarskiej. Dane strukturalne rzadko zawierają atrybuty handlowe, takie jak wymiary, wykończenie czy czas realizacji, dlatego mogą wymagać ręcznej weryfikacji lub odczytu opisu. Oznacz każdy rekord pozbawiony ceny lub SKU, aby nie trafił do wyceny jako zerowy.

Zasil wycenę. Gdy rekordy są czyste, powinny być przypisane do pomieszczeń, a nie znajdować się na płaskiej liście. Przypisz każdy produkt do pomieszczenia, ustaw ilości i pozwól, aby sumy narastały dla każdego pomieszczenia i projektu. Jeśli na przykład szukasz podłóg, czysty zestaw rekordów ułatwia porównywanie opcji w katalogu „ parkiet” lub w bazie danych „ dostawcy parkietu” znacznie szybciej, ponieważ każdy kandydat wyświetla te same pola obok siebie.

Aby pominąć etap „hydrauliki”, możesz przejrzeć wspólny katalog produktów zawierający ponad 62 000 artykułów, które już posiadają marki, ceny i wymiary, lub założyć darmowe konto Starter i dodać pierwszy adres URL dostawcy. Tak czy inaczej, zasada pozostaje ta sama: zdefiniuj swoje pola raz, wprowadzaj je konsekwentnie, a liczby same obronią Twoje argumenty.

Czytaj także