Ochrona 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
Do badania rynku lub listy potencjalnych partnerów ten parser kopiuje ogólnodostępny katalog firm do tabeli: nazwa firmy, kategoria, miasto, adres, link do strony internetowej, krótki opis, godziny otwarcia i link do strony firmy w katalogu. Nie zbiera kontaktów osobowych: żadnych nazwisk właścicieli, dyrektorów czy pracowników, żadnych e-maili ani numerów telefonów, więc tabela nie jest listą do mailingu ani telefonów. Prześlij stronę katalogu, stronę kategorii, stronę firmy oraz jedną lub dwie strony zapisane z przeglądarki. Dostajesz kod w Pythonie, plik ustawień i README i uruchamiasz go na swoim komputerze. Czyta ogólnodostępne strony w spokojnym tempie, nigdy się nie loguje ani nie obchodzi captchy czy zabezpieczeń i nie odczytuje Map Google, LinkedIn ani mediów społecznościowych. To Ty oceniasz, czy regulamin strony na to pozwala; 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.
- Firmy, nie ludzieBez imion, e-maili i numerów telefonów
- Kategoria i miastoW osobnych kolumnach do filtrów
- Link do strony internetowejMożesz odwiedzić własną stronę każdej firmy
- Spokojne tempoPrzerwa między stronami ustawiana w ustawieniach
- Działa na Twoim komputerzeWindows, macOS lub Linux, z Pythonem
Jak to działa
- 1KatalogPodajesz katalog, kategorię i zapisaną stronę firmy
- 2ParserPiszemy kod i instrukcję uruchomienia
- 3UruchomienieUruchamiasz go i porównujesz pierwsze firmy ze stroną
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Strona katalogu i konkretne podstrony: link do kategorii (i miasta, jeśli strona ma taki filtr) i do jednej strony firmy oraz mniej więcej liczba firm. Pola w kolejności Twojej tabeli, np. nazwa, kategoria, miasto, adres, strona internetowa, opis. Jedna lub dwie takie strony zapisane z przeglądarki (Plik > Zapisz stronę jako) lub zrzuty ekranu. CSV czy Excel.
Zapytamy Cię:
- Który katalog i jakie podstrony?
- Kategorie i miasta
- Potrzebne pola
- Mniej więcej ile firm?
Porównaj pakiety
| Pakiety | PodstawowyFirmy z Twoich linków83 zł | StandardKategoria, każda firma158 zł | PremiumDo 3 katalogów282 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Strony | 1 | 1 | do 3 |
| Rodzaje stron | 1 | 2 (lista kategorii i strona firmy) | 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 może zebrać e-maile i telefony, żebym mógł skontaktować się z firmami?
Nie. E-maile i numery telefonów często prowadzą do konkretnej osoby, a listy do mailingu i telefonów podlegają przepisom o ochronie danych, więc parser je pomija. Link do strony internetowej pozwala skontaktować się z każdą firmą tak, jak ona to umożliwia.
Czy może odczytać Mapy Google lub LinkedIn?
Nie. Google, LinkedIn, Amazon i media społecznościowe nie wchodzą w grę: ich regulaminy tego zabraniają, a ich strony zawierają dane osób.
Czy może otworzyć własną stronę każdej firmy, żeby pobrać więcej szczegółów?
Nie. Strona każdej firmy to inna witryna z własnymi podstronami, więc parser zostaje w obrębie katalogu i zapisuje link do strony internetowej.
Czy wolno kopiować katalog?
Katalogi często chronią swoje wpisy w regulaminie, a przepisy o ochronie danych różnią się między krajami, więc to Ty oceniasz, czy możesz zbierać i wykorzystywać te dane. Po zmianie układu katalogu parser wymaga aktualizacji.
Nie ma tu odpowiedzi?