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
Media sportowe, serwisy kibiców i analitycy korzystają z tego parsera, żeby zebrać ogólnodostępne wyniki w jedną tabelę: data, rozgrywki, kolejka, gospodarze, goście i wynik, a także dane ze strony meczu, takie jak strzały, rzuty rożne czy posiadanie piłki, jeśli strona je pokazuje; albo tabelę ligową z miejscem, liczbą meczów, zwycięstw, remisów, porażek i punktów. Prześlij stronę, stronę z wynikami, stronę meczu oraz jedną lub dwie strony zapisane z przeglądarki. Dostajesz kod w Pythonie, plik ustawień i README i uruchamiasz go na swoim komputerze po każdej kolejce. Zbiera dane klubów i meczów, a nie profile osób, i nie daje typów bukmacherskich ani prognoz. 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 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.
- Wynik w kolumnachBramki gospodarzy i gości osobno, gotowe do formuł
- Tabela ligowaMiejsce, mecze, zwycięstwa, remisy, porażki, punkty
- Dane meczuStrzały, rzuty rożne lub posiadanie piłki, jeśli strona je pokazuje
- Spokojne tempoPrzerwa między stronami ustawiana w ustawieniach
- Działa na Twoim komputerzeWindows, macOS lub Linux, z Pythonem
Jak to działa
- 1StronyPodajesz stronę, stronę z wynikami i zapisaną stronę meczu
- 2ParserPiszemy kod i instrukcję uruchomienia
- 3UruchomienieUruchamiasz go i porównujesz ostatnią kolejkę ze stroną
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Strona i konkretne podstrony: link do wyników lub tabeli i do jednej strony meczu, potrzebne rozgrywki i sezony oraz mniej więcej liczba meczów. Pola w kolejności Twojej tabeli, np. data, rozgrywki, kolejka, gospodarze, goście, bramki gospodarzy, bramki gości. Jedna lub dwie takie strony zapisane z przeglądarki (Plik > Zapisz stronę jako) lub zrzuty ekranu. CSV czy Excel.
Zapytamy Cię:
- Która strona i jakie podstrony?
- Rozgrywki i sezony
- Potrzebne pola
- Jak często będziesz go uruchamiać?
Porównaj pakiety
| Pakiety | PodstawowyWyniki z jednej strony79 zł | StandardWyniki i strony meczów158 zł | PremiumDo 3 stron lub rozgrywek282 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Strony | 1 | 1 | do 3 |
| Rodzaje stron | 1 | 2 (lista wyników i strona meczu) | 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 podawać wyniki na żywo w trakcie meczu?
Nie. Odczytuje strony wtedy, gdy go uruchamiasz, w spokojnym tempie, więc nie jest to transmisja na żywo. Do danych na żywo użyj oficjalnego serwisu danych ligi.
Czy może zbierać statystyki zawodników?
Zbiera dane według klubów i meczów. Osobiste profile zawodników są pomijane, więc tabela nie zawiera danych osobowych.
Czy pomoże mi w zakładach bukmacherskich?
Nie. Tabela zawiera dawne wyniki tak, jak pokazuje je strona; nie dajemy typów, prognoz ani porad dotyczących zakładów.
Które strony może odczytać?
Ogólnodostępne strony, na których wyniki są tekstem, a nie obrazkami, i są widoczne bez logowania. Ligi często są właścicielami swoich danych, więc sprawdź regulamin strony: decyzja należy do Ciebie. Google, Amazon, LinkedIn i media społecznościowe nie wchodzą w grę.
Nie ma tu odpowiedzi?


