ProgramowanieOchrona płatnościSzczegóły
- Poprawki w ramach pakietu są bezpłatne.
- Jeśli nie odpowiesz w ciągu 3 dni od dostarczenia pracy, zostanie ona zaakceptowana automatycznie.
Pieniądze są rezerwowane w chwili płatności i przekazywane dopiero po akceptacji pracy.

Przykładowy rezultat
Parser katalogu dostawcy narzędzi ogrodowych do Excela
Jak wygląda wynik
| Indeks | Nazwa | Cena | Dostępny | Waga | Zdjęcie |
|---|---|---|---|---|---|
| GT-1042 | Sekator, 20 mm | 18,90 | Tak | 0,24 kg | …/gt-1042.jpg |
| GT-1187 | Piła składana, 210 mm | 24,50 | Tak | 0,31 kg | …/gt-1187.jpg |
| GT-2210 | Nożyce do żywopłotu, ostrza faliste | 39,00 | Nie | 1,10 kg | …/gt-2210.jpg |
| GT-3305 | Łopatka ogrodowa, nierdzewna | 9,80 | Tak | 0,18 kg | …/gt-3305.jpg |
| GT-4120 | Wąż ogrodowy 25 m, 1/2" | 42,00 | Tak | 2,90 kg | …/gt-4120.jpg |
Plik w przykładzie zawiera 1236 produktów z 52 stron listy.
Fragment kodu
def product_links(list_url: str) -> Iterator[str]:
"""Linki do stron produktów z każdej strony listy, z przejściem przez „Dalej”."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""Jedna ogólnodostępna strona, w spokojnym tempie: przerwa między zapytaniami i kilka prób przy błędach."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s odpowiedział kodem %s, próba %d z 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} nie otworzył się po 3 próbach")
Pliki: archiwum ZIP z plikami scraper.py, settings.ini (strona startowa, przerwa między zapytaniami, nazwa pliku), requirements.txt oraz README o instalacji i uruchomieniu. Parser czyta tylko ogólnodostępne strony, jedną co 2 sekundy, i najpierw sprawdza plik robots.txt strony. Klient uruchamia go na własnym komputerze.
Klient: internetowy sklep ogrodniczy, który odsprzedaje narzędzia dostawcy; dostawca ma na swojej stronie ogólnodostępny katalog, ale nie udostępnia pliku z cennikiem. Zadanie: przejść przez strony listy w katalogu, otworzyć każdą stronę produktu i zapisać do Excela indeks, nazwę, cenę, dostępność, wagę i link do głównego zdjęcia, żeby raz w tygodniu porównywać ceny.
Klient i wszystkie dane są wymyślone.
O usłudze
Ten parser odczytuje publiczne strony produktów konkurenta i zapisuje ich ceny w tabeli, którą możesz zestawić z własną: nazwa produktu, kod produktu, cena, stara cena, rabat, dostępność i link, z datą sprawdzenia. Podaj nam stronę, linki do kategorii i do strony produktu, pola w kolejności Twojej tabeli oraz jedną lub dwie takie strony zapisane z przeglądarki. Piszemy kod w Pythonie według ich rzeczywistej struktury, z plikiem ustawień i README. Uruchamiasz go na swoim komputerze, kiedy chcesz mieć świeże ceny, a tabela trafia prosto do Ciebie. Czyta tylko ogólnodostępne strony w spokojnym tempie i nigdy się nie loguje, nie obchodzi captchy ani zabezpieczeń i nie zbiera danych osobowych. To Ty oceniasz, czy regulamin strony na to pozwala, a późniejsza zmiana jej układu wymaga aktualizacji.
Co obejmuje usługa
- Co otrzymaszArchiwum ZIP z kodem w Pythonie, plikiem ustawień i plikiem README z instrukcją krok po kroku; kod widać też na stronie zamówienia.
- Kolumny cenCena, stara cena i rabat jako osobne liczby
- Kody do dopasowaniaKod konkurenta lub kod kreskowy, jeśli strona go pokazuje
- Data każdego sprawdzeniaKażdy wiersz ma datę zebrania danych
- Spokojne tempoUstalona przez Ciebie przerwa między stronami
- Działa na Twoim komputerzeWindows, macOS lub Linux; uruchom go ponownie po świeże ceny
Jak to działa
- 1StronyPodajesz stronę konkurenta, kategorię i zapisaną stronę produktu
- 2ParserPiszemy kod według tych stron i instrukcję uruchomienia
- 3UruchomienieUruchamiasz go i porównujesz pierwsze wiersze ze stroną
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Strona konkurenta i konkretne podstrony: link do kategorii i do strony produktu oraz mniej więcej liczba produktów. Potrzebne pola w kolejności Twojej tabeli, np. nazwa, kod, cena, stara cena, dostępność, link. Jedna lub dwie takie strony zapisane z przeglądarki jako HTML (Plik > Zapisz stronę jako) lub zrzuty ekranu. CSV czy Excel i gdzie będziesz go uruchamiać.
Zapytamy Cię:
- Która strona konkurenta i które podstrony?
- Potrzebne pola
- Mniej więcej ile produktów?
- Jak często będziesz go uruchamiać?
Porównaj pakiety
| Pakiety | PodstawowyCeny ze stron produktów79 zł | StandardCała kategoria158 zł | PremiumDo 3 konkurentów282 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Strony | 1 | 1 | do 3 |
| Rodzaje stron | 1 | 2 (kategoria i produkt) | do 3 |
| Pola | do 10 | do 25 | do 25 na każdej |
| Przechodzi przez kolejne strony listy | Nie | Tak | Tak |
| Plik z wynikami | CSV | Excel lub CSV | Excel, CSV lub JSON |
| Bez duplikatów, wznawia pracę od miejsca, w którym przerwał | Nie | Nie | Tak |
| Zamów Podstawowy | Zamów Standard | Zamów Premium |
Ochrona płatności
Płacisz przy składaniu zamówienia, ale pieniądze są przekazywane tylko za zaakceptowaną pracę.
- Stała cenaCena pakietu nie zmienia się po zapłacie.
- Pieniądze są zarezerwowanePrzy płatności kwota jest tylko rezerwowana. Serwis otrzymuje ją dopiero po akceptacji pracy.
- Sprawdzone przed dostarczeniemKażdy wynik przechodzi kontrolę jakości, zanim do Ciebie trafi, a przed akceptacją widzisz go na stronie zamówienia.
- Bezpłatne poprawkiProś o poprawki w ramach briefu tyle razy, ile przewiduje pakiet.
- Akceptacja po 3 dniachJeśli w ciągu 3 dni od dostarczenia pracy ani jej nie zaakceptujesz, ani nie poprosisz o poprawki, zostanie zaakceptowana automatycznie. Jeśli po dostarczeniu napiszesz na czacie zamówienia, zamówienie czeka; po naszej odpowiedzi możemy ponownie uruchomić odliczanie 3 dni i poinformujemy o tym na czacie.
- Ponowne wykonanie lub pełny zwrot pieniędzyJeśli wynik nie odpowiada Twojemu briefowi, a poprawki tego nie naprawiły, lub praca trwa ponad dwa razy dłużej niż termin, napisz na czacie zamówienia: wykonamy pracę ponownie albo zwrócimy całą płatność.
Pytania i odpowiedzi
Czy dopasuje produkty konkurenta do moich?
Zapisuje kod konkurenta, kod kreskowy i nazwę tak, jak pokazuje je strona, więc możesz dopasować je do swojej listy w Excelu. Jeśli kody różnią się od Twoich, dopasowanie należy do Ciebie: nie zgadujemy, które produkty są takie same.
Czy widzi ceny dla zalogowanych lub hurtowych klientów?
Nie. Odczytuje ceny, które ogólnodostępna strona pokazuje każdemu odwiedzającemu. Ceny za kontem, logowaniem hurtowym lub captchą są poza zasięgiem.
Czy wolno zbierać ceny konkurenta?
Zbieranie publicznych cen jest w wielu przypadkach dozwolone, ale regulaminy stron i przepisy o danych różnią się między krajami, więc to Ty decydujesz, czy możesz je zbierać i wykorzystywać. Parser nigdy się nie loguje, nie obchodzi zabezpieczeń i nie zbiera danych osobowych.
Czy może zbierać ceny z Amazona, Google albo sklepów w mediach społecznościowych?
Nie. Ich regulaminy tego zabraniają, podobnie jak w przypadku LinkedIn i innych serwisów społecznościowych. Do takich danych używaj oficjalnego eksportu lub API danego serwisu.
A jeśli konkurent zmieni stronę?
Parser działa ze stronami w ich obecnej formie. Po zmianie układu wymaga aktualizacji, która jest nowym zamówieniem. Jeśli strona ogranicza wizyty, parser tego nie obchodzi.
Nie ma tu odpowiedzi?


