Przejdź do treści

Web scraping na zlecenie: pobieranie danych ze stron według harmonogramu

Ktoś w firmie co tydzień przepisuje ceny z kilku sklepów konkurencji albo przegląda portale z ogłoszeniami. Program może robić to sam, o ile strona na to pozwala i nie ma prostszego źródła tych samych danych.

Autor: Szymon Łakomy. Aktualizacja:

Jakie dane firmy zwykle zbierają

Ceny u konkurencji

Lista obserwowanych produktów: cena, promocja, dostępność. Pobierana raz dziennie albo kilka razy w tygodniu, z historią zmian.

Katalogi dostawców

Gdy hurtownia nie udostępnia pliku, tylko stronę z katalogiem: nazwy, parametry, indeksy i ceny dla zalogowanego partnera.

Ogłoszenia

Nowe oferty z portali branżowych spełniające filtry, na przykład używane maszyny określonej marki albo działki w wybranych gminach.

Przetargi

Ogłoszenia z wybranych platform według słów kluczowych i kodów CPV. Ocenę treści przez AI opisuję przy AI do analizy przetargów.

Najpierw API, feed albo eksport

  1. Sprawdzam, czy serwis ma publiczne API albo plik z danymi do pobrania. To pewniejsze niż scraping, bo nie psuje się przy zmianie wyglądu strony.
  2. Pytam, czy dostawca może wysłać feed XML lub CSV. Hurtownie często mają go dla partnerów i wtedy wystarczy integracja z hurtownią przez XML.
  3. Dopiero gdy dane są tylko na stronie, bez logowania albo na Twoim własnym koncie partnera, piszę scraper.

Nie obchodzę zabezpieczeń: CAPTCHA, blokad adresów, logowania na cudze konta ani limitów, które właściciel ustawił celowo. Takie zabezpieczenia oznaczają, że właściciel nie życzy sobie automatycznego pobierania. Wtedy szukamy innej drogi, na przykład zapytania o płatny dostęp do danych.

Regulamin, prawo autorskie i bazy danych

To, że strona jest publiczna, nie znaczy, że wolno pobrać z niej wszystko i użyć dowolnie. Przed startem przechodzimy przez cztery pytania:

  • co mówi regulamin serwisu i plik robots.txt, w którym właściciel opisuje zasady dla robotów,
  • czy pobierane treści są utworami, jak opisy i zdjęcia produktów, których nie wolno skopiować do własnego sklepu,
  • czy pobieranie dużej części zbioru nie narusza praw producenta bazy danych,
  • czy w danych są dane osobowe, na przykład imiona i telefony z ogłoszeń, bo wtedy dochodzi RODO.
To nie jest porada prawna. Przy wątpliwościach zakres pobierania warto ustalić z prawnikiem, a ja dopasuję do tego scraper.

Harmonogram, tempo i eksport wyników

UstawienieCo ustalamyPrzykład
Częstotliwośćjak świeże muszą być daneceny raz dziennie nad ranem, przetargi co kilka godzin
Tempoodstępy między kolejnymi odwiedzinamipojedyncze podstrony z przerwami, żeby nie obciążać serwisu
Miejsce zapisugdzie trafiają wynikiArkusz Google, baza danych, plik CSV na dysku firmy
Historiaczy trzymamy poprzednie wartościzmiany ceny produktu w czasie
Alertykiedy ktoś dostaje wiadomośćnowy przetarg z filtra albo wyraźny spadek ceny u konkurenta

Sam scraper piszę w Pythonie, a harmonogram, zapis i powiadomienia często spinam w n8n. Gdy na podstawie cen konkurencji chcesz zmieniać własne, reguły i bezpieczniki opisuję na stronie automatyczna zmiana cen w sklepie.

Co się psuje i jak to wychwycić

Scraper zależy od wyglądu cudzej strony. Po zmianie układu może przestać zbierać dane albo, co gorsze, zbierać niewłaściwe. Dlatego dodaję:

  • kontrolę liczby rekordów, bo wyraźnie mniej wyników niż zwykle to sygnał do sprawdzenia,
  • walidację formatu: cena musi być liczbą, a data datą,
  • dziennik każdego uruchomienia z liczbą pobranych pozycji i błędami.

Poprawki po zmianach na stronach źródłowych ustalamy jako stałą opiekę albo osobne zlecenia, podobnie jak przy opiece nad automatyzacjami.

Najczęstsze pytania

Czy web scraping jest legalny?

Zależy od strony, rodzaju danych i sposobu ich użycia. Pobranie publicznych cen do własnej analizy to inna sytuacja niż kopiowanie opisów i zdjęć do sklepu. Sprawdzamy regulamin i zakres, a przy wątpliwościach polecam rozmowę z prawnikiem.

Ile stron obsłuży jeden scraper?

Każdy serwis ma własny układ, więc dla każdego piszę osobny moduł. Kilka sklepów na tej samej platformie to niewielka różnica, kilkadziesiąt różnych serwisów to osobny projekt z regularnym utrzymaniem.

Czy pobierzesz dane ze strony wymagającej logowania?

Tylko z konta Twojej firmy i tylko wtedy, gdy regulamin serwisu na to pozwala, na przykład z panelu partnera hurtowni. Nie loguję się na cudze konta i nie omijam zabezpieczeń.

W jakiej formie dostanę dane?

W arkuszu, bazie albo pliku CSV, z datą pobrania przy każdym rekordzie. Jeśli dane mają trafiać do sklepu lub ERP, dokładam import, a do analizy mogę przygotować zestawienie.

Powiązane strony

Ktoś w firmie ręcznie przepisuje dane ze stron?

Podaj adresy stron i pola, które Cię interesują. Sprawdzę, czy jest prostsze źródło, i zaproponuję sposób pobierania.