ZWID_Pierwszy film AI za darmo - 10 kredytów na start, potem od 3 zł. Bez abonamentu.1. film za 0 złZrób film →
✨ Świeża dostawa•nowe kody na kinetyka.pl: Gemini Pro 18 mies. 170 zł•Cursor, ElevenLabs, Lovable i więcej, roczne plany AI w ułamku ceny Zobacz →
Przejdź do treści
Artykuły

Crawl4AI: lokalny scraper open source, instalacja i prawdziwy test

Lokalny scraper z kontrolą nad przeglądarką i wynikiem. Instrukcja instalacji oraz pomiar na trzech publicznych stronach.

6 min czytania
Znak Crawl4AI i napis Crawl4AI lokalnie - instalacja i rzeczywisty test

👁 119 przeczytań

// w skrócie
  • Crawl4AI to biblioteka open source z licencją Apache-2.0, która pozwala lokalnie pobierać strony i konwertować je do Markdown bez opłaty za każdą stronę.
  • W teście trzech artykułów czasy pojedynczego pobrania wyniosły od 0,938 s do 1,618 s, a każde pobranie zakończyło się statusem HTTP 200.
  • Tabele z HTML zostały zachowane w Markdownie, ale adresy plików MP4 obecne w źródle nie pojawiły się w surowym wyniku konwersji.

Crawl4AI pozwala uruchomić scraper lokalnie i otrzymać Markdown z pobranej strony. Zainstalowałem bibliotekę w osobnym środowisku i sprawdziłem trzy artykuły - stan na październik 2026.

W skrócie

  • Biblioteka ma licencję Apache-2.0 i nie narzuca opłaty za każdą lokalnie pobraną stronę.
  • Wszystkie strony z próby zostały pobrane, ale surowy wynik zawierał też menu i otoczenie tekstu.
  • Tabele przetrwały konwersję; adresów plików MP4 zabrakło w surowym Markdownie.
  • Koszty sprzętu, utrzymania i ewentualnego modelu pozostają po stronie użytkownika.

Czym jest Crawl4AI i co daje lokalne wykonanie?

Crawl4AI to biblioteka do pobierania stron, renderowania ich w przeglądarce i przygotowywania treści do dalszego przetwarzania. Program może zwrócić Markdown, a zależnie od konfiguracji także wyniki ekstrakcji. Lokalny wariant daje kontrolę nad uruchomieniem, plikami i regułami filtrowania. Nie wymaga kupowania pakietu stron od dostawcy chmurowego, ale wymaga działającego środowiska Pythona oraz przeglądarki.

To sensowny wybór do powtarzalnego przetwarzania znanych źródeł. Można jawnie wskazać dozwolone adresy, sprawdzać błędy i zachowywać materiał przed czyszczeniem. W aplikacji warto oddzielić pobranie od późniejszej analizy przez model. Pozwala to ponownie opracować zapisany dokument bez kolejnego obciążania witryny i bez mieszania błędów sieciowych z błędami odpowiedzi AI.

Lokalność nie oznacza automatycznie, że cały przepływ pozostaje na komputerze. Pobieranie publicznej strony wymaga kontaktu z jej serwerem, a użycie zewnętrznego modelu do ekstrakcji wysyła mu wskazaną treść. W opisanej próbie nie korzystałem z ekstrakcji przez model językowy. Wyniki pochodziły z pobrania, renderowania i konwersji wykonywanej przez bibliotekę.

Jeśli interesuje cię szersza kontrola nad miejscem przetwarzania, przydatnym kontekstem jest lokalne AI. Nie należy jednak mylić uruchomienia programu lokalnie z prawem do dowolnego kopiowania zewnętrznych danych.

Instalacja krok po kroku w osobnym środowisku

Osobne venv ogranicza mieszanie zależności z innymi projektami. W próbie zainstalowałem Crawl4AI w katalogu przeznaczonym wyłącznie na test. Instalacja pobrała również zależności, a Chromium zostało zainstalowane osobnym poleceniem Playwright. Poniższe polecenia pokazują ten sam schemat dla Windows. Wykonuje się je w katalogu projektu, w którym wolno utworzyć pliki środowiska.

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install crawl4ai
.\.venv\Scripts\playwright.exe install chromium

Właściwy pomiar działał na Pythonie 3.13.15, Crawl4AI 0.9.5 i Playwright 1.64.0. Zainstalowany Chromium miał wersję 156.0.8078.4. To zapis środowiska z dnia próby, a nie obietnica identycznego zestawu przy przyszłej instalacji. Przy odtwarzaniu wyniku warto zachować wersje zależności i sprawdzić aktualne wymagania projektu.

  • Utwórz katalog przeznaczony na próbę i uruchom w nim terminal.
  • Utwórz venv, a następnie instaluj pakiety interpreterem z tego środowiska.
  • Doinstaluj Chromium za pomocą Playwright z tego samego venv.
  • Zapisz krótki skrypt i uruchom go tym samym interpreterem.
  • Sprawdź status pobrania oraz zawartość pliku, zanim dodasz kolejne adresy.

Jeśli system nie znajduje polecenia, najpierw sprawdź ścieżkę interpretera. Instalowanie kolejnej kopii pakietu globalnie może ukryć problem i utrudnić odtworzenie środowiska. Na innym systemie zmienia się ścieżka do programu w venv, ale pozostaje zasada używania jednego środowiska dla biblioteki, instalatora przeglądarki i skryptu.

Najprostszy skrypt i granice jego działania

Ten przykład pobiera wyłącznie wskazany adres. Nie uruchamia rekurencyjnego odwiedzania całej witryny. To dobry punkt startu, ponieważ łatwo zobaczyć, co faktycznie wróciło. W pomiarze użyłem dodatkowo konfiguracji cache i czasu oczekiwania; sam przykład pokazuje podstawową strukturę wywołania z dokumentacji.

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://example.com"
        )
        if not result.success:
            raise RuntimeError(result.error_message)
        print(result.markdown.raw_markdown)

asyncio.run(main())

Przed rozbudową skryptu określ format zapisu, zakres adresów i regułę zatrzymania. Zwrócony HTML warto zachować obok Markdownu, gdy trzeba wyjaśnić brak tabeli albo filmu. Nie należy natomiast bez potrzeby archiwizować wszystkich pobranych danych. Zakres i czas przechowywania powinny wynikać z celu zadania oraz warunków wykorzystania treści.

Mój test: trzy strony, czasy i struktura Markdownu

Pobrałem sekwencyjnie trzy publiczne artykuły, bez rekurencji i bez logowania. Wyłączyłem lokalny cache zadania, nie włączyłem filtra głównej treści. Czas obejmuje wykonanie pojedynczego arun, wraz z renderowaniem i konwersją. Osobny start wspólnej przeglądarki trwał 0,560 s. Nie został doliczony do poszczególnych wartości w tabeli.

Adres w serwisieCzasZnakiTabele
/kling-4-0-test/0,938 s234782
/tryb-ai/1,259 s388602
/kling-4/1,618 s446077

Każde pobranie zakończyło się HTTP 200. W surowym Markdownie policzyłem odpowiednio 31, 51 i 36 nagłówków ATX. Obejmują również otoczenie artykułu, więc nie są liczbą jego sekcji. Menu i powtarzające się elementy zwiększały objętość wyniku. To praktyczny powód, żeby po pierwszym uruchomieniu obejrzeć plik zamiast uznać sam sukces HTTP za zakończone zadanie.

Liczba tabel w Markdownie odpowiadała liczbie tabel znalezionych w HTML artykułów. Nie jest to jednak porównanie każdej komórki znak po znaku. W pierwszej i trzeciej stronie HTML zawierał źródła filmów, natomiast surowy Markdown nie zachował adresów MP4. Narzędzie pobierające tekst nie musi przechować całej struktury multimedialnej strony. Jeśli adres filmu ma znaczenie, powinien być osobnym polem kontroli.

Nie ma podstaw do ekstrapolacji tych czasów na dowolny serwis. To pojedyncze przebiegi z jednej maszyny. Nie obejmują prób po zmianie układu strony, obciążenia wielu równoległych sesji ani problemów z dostępem. Wartością testu jest pokazanie rzeczywistego wyniku domyślnej konwersji, a nie ogłoszenie uniwersalnego zwycięzcy szybkości.

Co poprawić przed użyciem w aplikacji?

Nie przepłacaj za te subskrypcje

Prowadzę sklep z rocznymi dostępami do narzędzi AI - te same konta, o których piszę wyżej, tylko taniej niż w cenniku producenta.

Zobacz, co jest dostępne

Najpierw określ, która część strony jest właściwą treścią. Przy stabilnym układzie można ograniczyć ekstrakcję do odpowiedniego elementu, a następnie sprawdzić, czy pozostały nagłówki, przypisy i tabele. To propozycja następnego kroku, nie wynik dodatkowego pomiaru. W przedstawionej próbie filtr nie był włączony, więc nie można przypisać mu konkretnej poprawy objętości lub jakości.

Następnie dodaj obsługę niepowodzeń i limit zakresu. Aplikacja powinna rozpoznawać pusty wynik, komunikat błędu serwisu oraz zmianę struktury źródła. Ponowienie zadania ma sens tylko przy określonej przyczynie, a nie jako nieograniczona pętla. W kosztach lokalnego rozwiązania uwzględnij monitorowanie, aktualizacje zależności i poprawki reguł, kiedy strona się zmieni.

Crawl4AI będzie dobrym wyborem dla osoby, która chce świadomie konfigurować proces. Jeśli priorytetem jest odczyt pojedynczego artykułu bez instalacji, prostsze rozwiązanie może być wygodniejsze. Jeśli priorytetem jest obsługa infrastruktury przez dostawcę, warto ocenić API chmurowe. Licencja Apache-2.0 ułatwia korzystanie z biblioteki, ale nie zastępuje oceny praw do pobieranych treści.

Różnice pokazuje porównanie Crawl4AI, Firecrawl i Jina. Podział zastosowań znajdziesz też w przewodniku po danych z sieci dla agentów.

FAQ

Czy Crawl4AI jest naprawdę darmowy?

Lokalna biblioteka nie pobiera opłaty za stronę i ma otwartą licencję. Sprzęt, utrzymanie, proxy oraz zewnętrzne modele mogą jednak kosztować. Oferta chmurowa jest osobnym wariantem i ma własne warunki.

Czy do podstawowego Markdownu potrzebny jest klucz modelu?

W opisanej próbie nie użyłem klucza modelu językowego. Ekstrakcja wspomagana modelem to dodatkowy sposób pracy, którego koszt i przepływ danych trzeba ocenić oddzielnie.

Czy zachowane zostały filmy?

Nie w znaczeniu treści audiowizualnej. W surowym Markdownie nie było adresów MP4 obecnych w HTML testowanych stron. Filmy nie zostały obejrzane ani transkrybowane.

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.
// czytaj też

Podobne tematy na Promptowym

Piotr Olszewski

Piotr Olszewski

AUTOR I WYDAWCA

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony

🛒 Sklep Kinetyka Google AI Gemini Pro 170 zł CapCut Pro 460 zł/rok Lovable Pro 450 zł/rok Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× ‹ powiększenie ›