Scraper stron internetowych: jak zbierać dane z sieci

3 min czytania

Ręczne przepisywanie cen ze strony dostawcy do arkusza sprawdza się przy dwudziestu produktach. Przy dwóch tysiącach zajmuje tydzień, a i tak kończy się literówkami. Scraper stron internetowych (nazywany też parserem) to mały program, który otwiera strony za ciebie, pobiera z każdej te same informacje i zapisuje je w tabeli. Oto co potrafi, co przygotować i jakich zasad przestrzegać.

Scraper zbierający dane ze strony do tabeli

Do czego przydaje się scraper

Scraper jest przydatny wszędzie tam, gdzie ten sam rodzaj informacji znajduje się na wielu podobnych stronach:

  • Ceny i dostępność. Śledź, jak zmieniają się ceny dostawcy albo które produkty są niedostępne.
  • Katalog dostawcy. Przenieś nazwy, opisy, zdjęcia i ceny do własnego sklepu.
  • Ogłoszenia. Zbierz ogłoszenia o nieruchomościach, samochodach lub ofertach pracy z publicznego serwisu w jedną tabelę.
  • Wydarzenia i artykuły. Zbierz daty, tytuły i linki z publicznego kalendarza lub strony z aktualnościami.

Zbieraj tylko to, co wolno

Przede wszystkim sprawdź, czy dane można uczciwie pobrać:

  • Tylko strony publiczne. Jeśli do zobaczenia danych trzeba się zalogować, scraper to niewłaściwe narzędzie.
  • Przeczytaj regulamin serwisu. Wiele stron określa, co wolno, a czego nie wolno zbierać. Duże platformy, wyszukiwarki i serwisy społecznościowe zwykle tego zabraniają; skorzystaj wtedy z ich oficjalnego eksportu lub API.
  • Szanuj limity zapytań. Kilka sekund przerwy między stronami utrzymuje niskie obciążenie serwisu. Nigdy nie próbuj obchodzić captchy ani blokad.
  • Przestrzegaj przepisów o ochronie prywatności. Imiona i nazwiska, adresy e-mail i numery telefonów osób to dane osobowe, a wiele krajów ściśle ogranicza ich zbieranie. Pomiń je.

Ostatecznie to ty decydujesz, czy możesz zbierać i wykorzystywać dane z danej strony, więc sprawdź to przed rozpoczęciem.

Opisz strony

Scraper pisze się pod rzeczywistą budowę stron, więc bądź precyzyjny:

  • Link do strony z listą i link do strony jednego produktu.
  • Mniej więcej ile jest stron, na przykład „około 40 stron z listą, po 24 produkty na każdej”.
  • Jedna lub dwie strony zapisane z przeglądarki (Plik > Zapisz stronę jako) albo ich zrzuty ekranu.

Wypisz pola jak kolumny tabeli

Pomyśl o wyniku jak o arkuszu kalkulacyjnym i nazwij jego kolumny po kolei, z przykładem każdej:

  • Nazwa: „Deska do krojenia dębowa, duża”
  • Cena: „34.90”
  • Stara cena: „39.90”, jeśli produkt jest w promocji
  • Dostępny: „tak”
  • Link do strony produktu i link do zdjęcia

Dziesięć jasnych pól jest lepsze niż trzydzieści niejasnych. Dodaj potrzebne reguły, na przykład „tylko produkty dostępne”.

Wybierz format i miejsce uruchamiania

  • CSV otwiera się w każdym arkuszu kalkulacyjnym i da się go zaimportować do większości systemów sklepowych.
  • Excel jest wygodniejszy, jeśli będziesz filtrować i sortować ręcznie.
  • JSON pasuje programiście, który wczyta dane gdzie indziej.

Scraper działa na twoim własnym komputerze z Pythonem, więc dane trafiają prosto do ciebie, a uruchomić go możesz ponownie za każdym razem, gdy potrzebujesz świeżych danych.

Gdy strona się zmienia

Scraper podąża za stronami w ich obecnym wyglądzie. Jeśli serwis dostanie nowy wygląd, scraper może przestać znajdować pola i będzie wymagał aktualizacji. Strona może też ograniczać wizyty nawet przy spokojnym tempie. Uwzględnij to, jeśli korzystasz z danych co tydzień.

Podsumowanie

Zdecyduj, jakich publicznych stron i pól potrzebujesz, sprawdź regulamin serwisu, zachowaj spokojne tempo i pomiń dane osobowe. Jeśli wolisz nie pisać kodu samodzielnie, zamów scraper stron internetowych: przesyłasz adres strony, listę pól i jedną lub dwie zapisane strony, a dostajesz kod w Pythonie, plik ustawień i instrukcję krok po kroku, jak go uruchomić i zapisać dane do CSV, Excela lub JSON. Płatność zostaje zwolniona dopiero po zaakceptowaniu pracy.