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
Blogerzy kulinarni przenoszący własne przepisy, aplikacje kulinarne i serwisy do planowania posiłków korzystają z tego parsera, żeby zbudować tabelę przepisów z ogólnodostępnych stron: nazwa, kategoria, kuchnia, czas przygotowania, porcje, składniki, kroki, kalorie, jeśli strona je pokazuje, link do zdjęcia i link. Wiele stron z przepisami przechowuje te dane także w ukrytym bloku danych strukturalnych, a parser odczytuje go, gdy jest dostępny. Prześlij stronę, kategorię i stronę przepisu oraz jedną lub dwie strony zapisane z przeglądarki. Dostajesz kod w Pythonie, plik ustawień i README i uruchamiasz go na swoim komputerze. Teksty i zdjęcia przepisów należą do ich autorów: używaj tylko tego, na co masz zgodę. Nazwiska autorów są pomijane. Czyta ogólnodostępne strony w spokojnym tempie i nigdy się nie loguje ani nie obchodzi captchy czy zabezpieczeń. To Ty oceniasz, czy regulamin strony na to pozwala; późniejsza zmiana 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.
- Składniki jako listaJeden składnik w wierszu w komórce albo osobny arkusz
- Czas i porcjeJako liczby, które możesz filtrować
- Linki do grafikTylko linki; używaj zdjęć, na które masz zgodę
- Spokojne tempoPrzerwa między stronami ustawiana w ustawieniach
- Działa na Twoim komputerzeWindows, macOS lub Linux, z Pythonem
Jak to działa
- 1StronyPodajesz stronę, kategorię i jeden zapisany przepis
- 2ParserPiszemy kod i instrukcję uruchomienia
- 3UruchomienieUruchamiasz go i porównujesz dwa przepisy ze stroną
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Strona z przepisami i konkretne podstrony: link do kategorii i do jednego przepisu oraz mniej więcej liczba przepisów. Pola, których potrzebujesz, np. nazwa, kategoria, kuchnia, czas, porcje, składniki, kroki, kalorie, link do zdjęcia. Jak mają wyglądać składniki: jedna komórka czy osobny arkusz. Jedna lub dwie takie strony zapisane z przeglądarki (Plik > Zapisz stronę jako). I czy to Twoje własne przepisy, czy przepisy z innej strony.
Zapytamy Cię:
- Która strona i jakie podstrony?
- Potrzebne pola
- Mniej więcej ile przepisów?
- Jak mają wyglądać składniki?
Porównaj pakiety
| Pakiety | PodstawowyPrzepisy z Twoich linków79 zł | StandardCały dział przepisów158 zł | PremiumDo 3 stron z przepisami282 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Strony | 1 | 1 | do 3 |
| Rodzaje stron | 1 | 2 (lista przepisów i przepis) | 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 mogę opublikować zebrane przepisy na swojej stronie?
Tylko za zgodą właściciela albo jeśli są Twoje. Teksty i zdjęcia przepisów należą do ich autorów; parser je zbiera, a to, co publikujesz, jest Twoją decyzją.
Czy może rozdzielić ilości i jednostki?
Tak, gdy strona zapisuje je w stały sposób, jak zwykle robi to blok danych strukturalnych. Tam, gdzie wiersz brzmi «szczypta soli», zostaje tak, jak jest zapisany.
Czy może liczyć kalorie?
Nie. Pobiera kalorie tylko wtedy, gdy strona je pokazuje, a my nie wyliczamy wartości odżywczych ani nie doradzamy w sprawie diety.
Czy może odczytać przepisy z mediów społecznościowych lub serwisów wideo?
Nie. Media społecznościowe, LinkedIn, Google i Amazon nie wchodzą w grę: ich regulaminy tego zabraniają. Strony z przepisami są w porządku, jeśli pozwala na to ich regulamin, co oceniasz Ty.
Nie ma tu odpowiedzi?


