Opanuj web scraping w n8n: automatyzacje i workflowy

Ostatnia aktualizacja: April 14, 2026

Kilka miesięcy temu jeden z naszych użytkowników wysłał nam zrzut ekranu workflow w n8n z 14 węzłami, pół tuzinem karteczek i tytułem wiadomości, który brzmiał po prostu: „Pomocy”. Ta osoba skorzystała z popularnego poradnika o web scrapingu w n8n, odpaliła ładny demo-przykład na 10 wierszy na testowej stronie, a potem spróbowała pobrać realne ceny konkurencji z 200 stron produktowych. Efekt? Rozjechana pętla paginacji, ściana błędów 403 i cichy harmonogram, który przestał działać po pierwszym wtorku.

To właśnie na tej granicy — między demo a prawdziwym pipeline’em — kończy się większość projektów scrapingu w n8n. Od lat rozwijam i pracuję w automatyzacji, więc mogę powiedzieć jedno: samo scrapowanie rzadko jest najtrudniejsze. Prawdziwe problemy zaczynają się po pierwszym udanym pobraniu danych. Paginacja, harmonogramy, obchodzenie zabezpieczeń anty-bot, czyszczenie danych, eksport i — najważniejsze — utrzymanie, kiedy strona po raz trzeci w tym kwartale zmienia układ. Ten przewodnik przeprowadzi Cię przez cały proces: od pierwszego węzła HTTP Request po cykliczny, gotowy do produkcji workflow web scrapingu w n8n. A tam, gdzie podejście DIY w n8n dochodzi do ściany, pokażę Ci, jak narzędzia oparte na AI, takie jak Thunderbit, mogą oszczędzić Ci godzin, a czasem dni frustracji.

Czym jest web scraping w n8n i dlaczego większość poradników pokazuje tylko powierzchnię

n8n to open-source’owa platforma do automatyzacji workflowów low-code. Najprościej mówiąc: to wizualne płótno, na którym łączysz „węzły” — każdy robi konkretną rzecz (pobiera stronę, analizuje HTML, wysyła wiadomość do Slacka, zapisuje dane do Google Sheets) — i składasz z nich automatyczne procesy. Nie trzeba ciężkiego kodowania, choć w razie potrzeby możesz użyć JavaScriptu.

„Web scraping w n8n” oznacza korzystanie z wbudowanych węzłów HTTP Request i HTML (oraz węzłów społeczności), żeby pobierać, parsować i przetwarzać dane ze stron internetowych w ramach takich automatycznych workflowów. Rdzeń tego procesu składa się z dwóch kroków: Fetch (węzeł HTTP Request pobiera surowy HTML z adresu URL) i Parse (węzeł HTML używa selektorów CSS, żeby wyciągnąć interesujące Cię dane — nazwy produktów, ceny, e-maile, cokolwiek potrzebujesz).

Platforma jest ogromna: według stanu na kwiecień 2026 n8n ma , ponad 230 000 aktywnych użytkowników, 9 166+ szablonów workflowów społeczności i wydaje nową mniejszą wersję mniej więcej co tydzień. W marcu 2025 pozyskało . To ekosystem z naprawdę dużym rozpędem.

Ale jest też luka, o której mało kto mówi. Najpopularniejszy poradnik o scrapingu w n8n na dev.to (autorstwa Lakshay Nasa, opublikowany pod orgiem „Extract by Zyte”) obiecywał paginację w „Part 2”. Część 2 faktycznie się pojawiła — a własny werdykt autora brzmiał: „N8N daje nam domyślny tryb paginacji w węźle HTTP Request w sekcji Options, i choć brzmi to wygodnie, w moim doświadczeniu nie działało to niezawodnie w typowych zastosowaniach web scrapingu.” Autor finalnie poprowadził paginację przez płatne API zewnętrzne. Tymczasem użytkownicy forum n8n nadal wskazują „paginację, throttling, logowanie” jako moment, w którym scraping w n8n „zaczyna się łatwo komplikować”. Ten przewodnik ma wypełnić tę lukę.

Dlaczego web scraping w n8n ma znaczenie dla zespołów sprzedaży, operacji i e-commerce

Web scraping w n8n to nie zabawka dla programistów. To narzędzie biznesowe. wart jest w 2025 około 1–1,3 mld dolarów i ma wzrosnąć do 2–2,3 mld do 2030 roku. Sama dynamiczna wycena jest wykorzystywana przez około , a korzysta dziś z danych alternatywnych — w dużej mierze pozyskiwanych z sieci. McKinsey podaje, że dynamic pricing przynosi firmom, które go wdrażają.

Tu właśnie widać prawdziwą moc n8n: nie chodzi tylko o zdobycie danych. Chodzi o to, co dzieje się potem. n8n pozwala połączyć scrapowanie z dalszymi działaniami — aktualizacją CRM, alertami Slack, eksportem do arkuszy, analizą AI — w jednym workflowie.

ZastosowanieKto zyskujeCo scrapujeszEfekt biznesowy
Generowanie leadówZespoły sprzedażyKatalogi firm, strony kontaktoweZasilenie CRM wartościowymi leadami
Monitorowanie cen konkurencjiZespoły e-commerce / operacjeStrony ofert produktówDynamiczna zmiana cen w czasie rzeczywistym
Śledzenie ofert nieruchomościAgenci nieruchomościZillow, Realtor, lokalne MLSWcześniejsze wykrywanie nowych ofert niż konkurencja
Badania rynkuZespoły marketingoweSerwisy z recenzjami, fora, newsyWykrywanie trendów i nastrojów klientów
Monitorowanie stanów u dostawców / SKUZespoły supply chainStrony produktów dostawcówUnikanie braków magazynowych i lepsze zakupy

Dane pokazują, że ROI jest realne: planuje zwiększyć inwestycje w AI w 2025 roku, a automatyczny nurturing leadów potrafi w ciągu dziewięciu miesięcy. Jeśli Twój zespół wciąż kopiuje dane ze stron do arkuszy ręcznie, zostawiasz pieniądze na stole.

Twój zestaw narzędzi do web scrapingu w n8n: najważniejsze węzły i dostępne rozwiązania

Zanim zaczniesz budować, musisz wiedzieć, co masz do dyspozycji. Oto podstawowe węzły n8n do scrapingu:

  • HTTP Request node: Pobiera surowy HTML z dowolnego adresu URL. Działa jak przeglądarka wysyłająca żądanie strony, ale zwraca kod zamiast renderować stronę. Obsługuje GET/POST, nagłówki, batchowanie i — przynajmniej w teorii — wbudowaną paginację.
  • HTML node (dawniej „HTML Extract”): Analizuje HTML za pomocą selektorów CSS, żeby wyciągnąć konkretne dane — tytuły, ceny, linki, obrazki, wszystko, czego potrzebujesz.
  • Code node: Pozwala pisać fragmenty JavaScript do czyszczenia danych, normalizacji URL-i, deduplikacji i własnej logiki.
  • Edit Fields (Set) node: Przekształca lub zmienia nazwy pól danych dla kolejnych węzłów.
  • Split Out node: Rozbija tablice na pojedyncze elementy do przetwarzania.
  • Convert to File node: Eksportuje ustrukturyzowane dane do CSV, JSON itd.
  • Loop Over Items node: Iteruje po listach (kluczowe przy paginacji — więcej o tym niżej).
  • Schedule Trigger: Uruchamia workflow według harmonogramu cron.
  • Error Trigger: Powiadamia, gdy workflow zakończy się błędem (niezbędne w środowisku produkcyjnym).

W przypadku zaawansowanego scrapingu — stron renderowanych przez JavaScript albo mocno chronionych przez systemy anty-bot — potrzebujesz węzłów społeczności:

PodejścieNajlepsze doPoziom umiejętnościObsługa stron renderowanych przez JSRadzenie sobie z anty-bot
n8n HTTP Request + HTML nodesStrony statyczne, APIPoczątkujący–średniozaawansowanyNieRęcznie (nagłówki, proxy)
n8n + ScrapeNinja/Firecrawl community nodeStrony dynamiczne / chronioneŚredniozaawansowanyTakWbudowane (rotacja proxy, CAPTCHA)
n8n + Headless Browser (Puppeteer)Złożone interakcje JSZaawansowanyTakCzęściowo (zależy od konfiguracji)
Thunderbit (AI Web Scraper)Dowolna strona, użytkownicy nietechniczniPoczątkującyTak (tryb Browser lub Cloud)Wbudowane (dziedziczenie sesji przeglądarki lub obsługa w chmurze)

W n8n v2.15.1 nie ma natywnego węzła headless browser. Każde scrapowanie stron renderowanych przez JS wymaga albo węzła społeczności, albo zewnętrznego API.

Krótko o Thunderbit: to oparty na AI , który stworzył nasz zespół. Klikasz „AI Suggest Fields”, potem „Scrape” i dostajesz dane w strukturze — bez selektorów CSS, bez konfiguracji węzłów, bez utrzymania. W tym przewodniku pokażę Ci, gdzie Thunderbit pasuje najlepiej, a gdzie lepszy będzie n8n.

Krok po kroku: zbuduj swój pierwszy workflow web scrapingu w n8n

Skoro znamy już narzędzia, czas zbudować działający scraper w n8n od zera. Jako przykład wezmę stronę z listą produktów — taki przypadek, który naprawdę scrapuje się do monitorowania cen albo analizy konkurencji.

Zanim zaczniesz:

  • Poziom trudności: początkujący–średniozaawansowany
  • Szacowany czas: ok. 20–30 minut
  • Potrzebujesz: n8n (self-hosted lub Cloud), docelowy URL, przeglądarka Chrome (do znajdowania selektorów CSS)

Krok 1: Utwórz nowy workflow i dodaj ręczny trigger

Otwórz n8n, kliknij „New Workflow” i nadaj mu opisową nazwę — np. „Competitor Price Scraper”. Dodaj węzeł Manual Trigger. (Później zmienimy go na trigger harmonogramu.)

Na canvasie powinien pojawić się pojedynczy węzeł, gotowy do uruchomienia po kliknięciu „Test Workflow”.

Krok 2: Pobierz stronę za pomocą węzła HTTP Request

Dodaj węzeł HTTP Request i połącz go z Manual Trigger. Ustaw metodę na GET i wpisz docelowy URL (np. https://example.com/products).

Teraz najważniejszy krok, który większość poradników pomija: dodaj realistyczny nagłówek User-Agent. Domyślnie n8n wysyła axios/xx jako user agent — a to od razu zdradza bota. W sekcji „Headers” dodaj:

Nazwa nagłówkaWartość
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Jeśli scrapujesz wiele adresów URL, włącz Batching (w Options) i ustaw 1–3 sekundy przerwy między żądaniami. Pomoże to uniknąć limitów zapytań.

Uruchom węzeł. W panelu wyników powinien pojawić się surowy HTML.

Krok 3: Sparsuj dane za pomocą węzła HTML

Połącz węzeł HTML z wyjściem HTTP Request. Ustaw operację na Extract HTML Content.

Żeby znaleźć właściwe selektory CSS, otwórz docelową stronę w Chrome, kliknij prawym przyciskiem na interesujące Cię dane (np. tytuł produktu) i wybierz „Inspect”. W panelu Elements kliknij prawym na podświetlony element HTML i wybierz „Copy → Copy selector”.

Skonfiguruj wartości ekstrakcji tak:

KluczSelektor CSSZwracana wartość
product_name.product-titleTekst
price.price-currentTekst
url.product-linkAtrybut: href

Uruchom węzeł. W wynikach powinna pojawić się tabela ustrukturyzowanych danych — nazwy produktów, ceny i adresy URL.

Krok 4: Oczyść i znormalizuj dane w węźle Code

Surowe dane ze scrapingu są zwykle chaotyczne. Ceny mają dodatkowe spacje, URL-e mogą być względne, a pola tekstowe kończą się znakami nowej linii. Dodaj węzeł Code i połącz go z węzłem HTML.

Oto prosty fragment JavaScript do uporządkowania danych:

1return items.map(item => {
2  const d = item.json;
3  return {
4    json: {
5      product_name: (d.product_name || '').trim(),
6      price: parseFloat((d.price || '').replace(/[^0-9.]/g, '')),
7      url: d.url && d.url.startsWith('http') ? d.url : `https://example.com${d.url}`
8    }
9  };
10});

Ten krok jest kluczowy, jeśli zależy Ci na danych gotowych do produkcji. Pomijasz go, a w arkuszu pojawią się wpisy typu „$ 29.99\n”.

Krok 5: Eksportuj do Google Sheets, Airtable lub CSV

Dodaj węzeł Google Sheets (albo Airtable, albo Convert to File dla CSV). Zaloguj się na konto Google, wybierz arkusz i arkusz roboczy, a następnie zmapuj pola z wyjścia węzła Code do nagłówków kolumn.

Uruchom cały workflow. Powinieneś zobaczyć czyste, ustrukturyzowane dane zapisane w arkuszu.

Na marginesie: do Google Sheets, Airtable, Notion i Excel bez żadnej konfiguracji węzłów. Jeśli nie potrzebujesz pełnego łańcucha workflowu i zależy Ci tylko na danych, to bardzo wygodny skrót.

Część, którą każdy poradnik o web scrapingu w n8n pomija: kompletne workflowy paginacji

Paginacja to najczęściej pomijany temat w treściach o scrapingu w n8n — i zarazem numer jeden wśród źródeł frustracji na forum społeczności n8n.

Są dwa główne wzorce paginacji:

  1. Paginacja oparta na klikaniu / zwiększaniu numeru w URL — strony typu ?page=1, ?page=2 itd.
  2. Nieskończone przewijanie — treść ładuje się podczas scrollowania (jak na Twitterze, Instagramie czy w wielu nowoczesnych katalogach produktów).

Paginacja oparta na klikaniu w n8n (inkrementacja URL z użyciem węzłów loop)

Wbudowana opcja Pagination w menu Options węzła HTTP Request brzmi wygodnie. W praktyce bywa zawodna. Najpopularniejszy autor poradnika o scrapingu w n8n (Lakshay Nasa) przetestował ją i napisał: „w moim doświadczeniu nie działała to niezawodnie.” Użytkownicy forum raportują, że , i nie potrafi wykryć ostatniej strony.

n8n-pagination-chain-workflow.webp

Niezawodne podejście: zbuduj listę URL-i jawnie w węźle Code, a potem iteruj przez nią za pomocą Loop Over Items.

Jak to zrobić:

  1. Dodaj węzeł Code, który wygeneruje adresy stron:
1const base = 'https://example.com/products';
2const totalPages = 10; // albo wykryj dynamicznie
3return Array.from({length: totalPages}, (_, i) => ({
4  json: { url: `${base}?page=${i + 1}` }
5}));
  1. Podłącz węzeł Loop Over Items, aby przechodził po liście.
  2. Wewnątrz pętli dodaj węzeł HTTP Request (ustaw URL na {{ $json.url }}), a potem węzeł HTML do parsowania.
  3. Dodaj węzeł Wait (1–3 sekundy, losowo) wewnątrz pętli, żeby uniknąć limitów 429.
  4. Po pętli zsumuj wyniki i wyeksportuj je do Google Sheets lub CSV.

Pełny łańcuch wygląda tak: Code (tworzenie URL-i) → Loop Over Items → HTTP Request → HTML → Wait → (powrót do pętli) → Aggregacja → Eksport.

Jedna pułapka: węzeł Loop Over Items ma , przez który zagnieżdżone pętle po cichu pomijają elementy. Jeśli robisz paginację i wzbogacasz dane z podstron, testuj to bardzo dokładnie — liczba „done” może nie zgadzać się z liczbą danych wejściowych.

Paginacja nieskończonego scrolla: dlaczego wbudowane węzły n8n mają problem

Strony z infinite scroll ładują zawartość przez JavaScript podczas przewijania. Węzeł HTTP Request pobiera tylko początkowy HTML — nie uruchamia JavaScriptu ani nie symuluje scrollowania. Masz dwie opcje:

  • Użyj węzła headless browser z community (np. albo ), żeby wyrenderować stronę i zasymulować przewijanie.
  • Użyj API do scrapingu (ScrapeNinja, Firecrawl, ZenRows) z włączonym renderowaniem JS.

Oba rozwiązania mocno podnoszą złożoność. Przygotuj się na 30–60+ minut konfiguracji na jedną stronę, plus późniejsze utrzymanie.

Jak Thunderbit obsługuje paginację bez konfiguracji

Jestem stronniczy, ale kontrast jest wyraźny:

Możliwośćn8n (workflow DIY)Thunderbit
Paginacja oparta na klikaniuRęczna konfiguracja węzła pętli, inkrementacja URLAutomatycznie — wykrywa i śledzi paginację
Strony z infinite scrollWymagają headless browser + węzła społecznościWbudowana obsługa, bez konfiguracji
Nakład pracy przy uruchomieniu30–60 min na jedną stronę2 kliknięcia
Strony na partięSekwencyjnie (jedna po drugiej)50 stron jednocześnie (Cloud Scraping)

Jeśli masz do przerobienia 200 stron produktowych w 10 listach z paginacją, n8n zajmie Ci całe popołudnie. Thunderbit — około dwóch minut. To nie jest krytyka n8n, tylko po prostu inne narzędzie do innego zadania.

Ustaw i zapomnij: workflowy web scrapingu w n8n uruchamiane cronem

Jednorazowe scrapowanie jest przydatne, ale prawdziwa siła web scrapingu w n8n tkwi w cyklicznym, automatycznym zbieraniu danych. Co zaskakujące, prawie żaden poradnik o scrapingu w n8n nie omawia Schedule Trigger dla scrapingu — mimo że to jedna z najczęściej proszonych funkcji w społeczności.

Budowa codziennego pipeline’u do monitorowania cen

Zastąp Manual Trigger węzłem Schedule Trigger. Możesz użyć interfejsu n8n („Every day at 8:00 AM”) albo wyrażenia cron (0 8 * * *).

Pełny łańcuch workflowu:

  1. Schedule Trigger (codziennie o 8 rano)
  2. Code node (generowanie URL-i paginacji)
  3. Loop Over Items → HTTP Request → HTML → Wait (scraping wszystkich stron)
  4. Code node (czyszczenie danych, normalizacja cen)
  5. Google Sheets (dodawanie nowych wierszy)
  6. IF node (czy któraś cena spadła poniżej progu?)
  7. Slack (wysłanie alertu, jeśli tak)

Obok tego ustaw workflow Error Trigger, który uruchomi się przy każdym błędzie i wyśle ping do Slacka. W przeciwnym razie, gdy selektory się zepsują (a prędzej czy później się zepsują), dowiesz się o tym dopiero po trzech tygodniach, kiedy raport będzie pusty.

Dwa nieoczywiste wymagania:

  • n8n musi działać 24/7. Self-host uruchomiony na laptopie nie odpali, kiedy zamkniesz pokrywę. Użyj serwera, Dockera albo n8n Cloud.
  • Po każdej edycji workflowu wyłącz go i włącz ponownie. n8n Cloud ma polegający na tym, że harmonogramy po edycji potrafią się po cichu wyrejestrować, bez żadnego komunikatu o błędzie.

Budowa tygodniowego pipeline’u do ekstrakcji leadów

Ten sam schemat, inny cel: Schedule Trigger (w każdy poniedziałek o 9:00) → HTTP Request (katalog firm) → HTML (wyciągnięcie nazwy, telefonu, e-maila) → Code (deduplikacja, czyszczenie formatowania) → wysyłka do Airtable lub HubSpot.

n8n-vs-thunderbit-scheduled-scraping.webp

Koszt utrzymania to tutaj bardzo niedoceniany element. Jeśli strona katalogowa zmieni układ, Twoje selektory CSS się psują, a workflow przestaje działać bez ostrzeżenia. HasData szacuje, że początkowego czasu budowy należy corocznie zarezerwować na utrzymanie każdego pipeline’u opartego na selektorach. Gdy utrzymujesz około 20 stron, narzut staje się realny.

Scheduled Scraper w Thunderbit: alternatywa bez kodu

Scheduled Scraper w Thunderbit pozwala opisać interwał zwykłym językiem (np. „co poniedziałek o 9:00”), wkleić URL-e i kliknąć „Schedule”. Działa w chmurze — bez hostingu, bez cronów, bez cichych wyrejestrowań.

WymiarWorkflow zaplanowany w n8nThunderbit Scheduled Scraper
Konfiguracja harmonogramuCron lub interfejs harmonogramu n8nOpisujesz zwykłym językiem
Czyszczenie danychWymaga ręcznego węzła CodeAI czyści/oznacza/tłumaczy automatycznie
Miejsca eksportuWymaga węzłów integracyjnychGoogle Sheets, Airtable, Notion, Excel (darmowo)
Wymóg hostinguSelf-hosted lub n8n CloudBrak — działa w chmurze
Utrzymanie po zmianach stronySelektory się psują, trzeba poprawiać ręcznieAI odczytuje stronę na nowo za każdym razem

To właśnie ostatni wiersz ma największe znaczenie. Użytkownicy forum mówią to wprost: „większość działa dobrze, dopóki strona nie zmieni układu.” Podejście oparte na AI w Thunderbit usuwa ten ból, ponieważ nie opiera się na stałych selektorach CSS.

Gdy Twój scraper w n8n zostaje zablokowany: przewodnik po problemach z anty-bot

Blokady to największa frustracja po paginacji. Standardowa rada — „dodaj nagłówek User-Agent” — jest mniej więcej tak pomocna, jak zamknięcie drzwi ekranowych przed huraganem.

Według Imperva 2025 Bad Bot Report, , a z tego ruchu jest złośliwe. Dostawcy zabezpieczeń anty-bot (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) odpowiedzieli fingerprintingiem TLS, wyzwaniami JavaScript i analizą zachowań. Węzeł HTTP Request w n8n, który pod spodem korzysta z biblioteki Axios, generuje charakterystyczny, łatwy do rozpoznania TLS fingerprint inny niż przeglądarkowy. Zmiana nagłówka User-Agent nic nie daje — hash zdradza Cię, zanim jakikolwiek nagłówek HTTP zostanie odczytany.

Drzewo decyzyjne dla problemów z anty-bot

Oto uporządkowany sposób diagnozy — nie tylko „dodaj User-Agent”:

Żądanie zablokowane?

  • 403 Forbidden → Dodaj nagłówki User-Agent i Accept (zobacz Krok 2 powyżej) → Nadal blokada?
    • Tak → Dodaj rotację proxy residential → Nadal blokada?
      • Tak → Przejdź na API do scrapingu (ScrapeNinja, Firecrawl, ZenRows) albo węzeł headless browser z community
      • Nie → Dalej
    • Nie → Dalej
  • Pojawia się CAPTCHA → Użyj API do scrapingu z wbudowanym rozwiązywaniem CAPTCHA (np. )
  • Pusta odpowiedź (treść renderowana przez JS) → Użyj węzła headless browser z community lub API do scrapingu z renderowaniem JS
  • Limit zapytań (błąd 429) → Włącz batching w HTTP Request, ustaw 2–5 sekund przerwy między batchami, zmniejsz współbieżność

Jeszcze jedna pułapka: n8n ma , w którym węzeł HTTP Request nie potrafi poprawnie tunelować HTTPS przez proxy HTTP. Biblioteka Axios potyka się o TLS handshake, mimo że curl w tym samym kontenerze działa poprawnie. Jeśli używasz proxy i dostajesz tajemnicze błędy połączenia, to najpewniej właśnie dlatego.

Dlaczego Thunderbit omija większość problemów anty-bot

Thunderbit oferuje dwa tryby scrapingu:

  • Browser Scraping: Działa w Twojej prawdziwej przeglądarce Chrome, dziedzicząc ciasteczka sesji, status zalogowania i fingerprint przeglądarki. To omija większość zabezpieczeń anty-bot blokujących żądania po stronie serwera — bo żądanie faktycznie pochodzi z realnej przeglądarki.
  • Cloud Scraping: W przypadku publicznie dostępnych stron chmura Thunderbit obsługuje anty-bot na dużą skalę — .

Jeśli spędzasz więcej czasu na walce z Cloudflare niż na analizie danych, to jest praktyczna alternatywa.

Szczera ocena: kiedy web scraping w n8n działa, a kiedy lepiej użyć czegoś innego

n8n to świetna platforma. Ale nie jest właściwym narzędziem do każdego zadania scrapingu — i żaden konkurencyjny artykuł nie mówi tego uczciwie. Użytkownicy dosłownie pytają na forum: „jak trudno jest zbudować web scraper w n8n?” oraz „które narzędzie do scrapingu najlepiej współpracuje z n8n?”

W czym web scraping w n8n jest najmocniejszy

  • Wieloetapowe workflowy łączące scraping z dalszym przetwarzaniem — aktualizacją CRM, alertami Slack, analizą AI, zapisem do bazy. To jest podstawowa siła n8n.
  • Przypadki, w których scraping jest jednym z kroków większego łańcucha automatyzacji — scrape → wzbogacenie → filtrowanie → wysyłka do CRM.
  • Użytkownicy techniczni swobodnie poruszający się po selektorach CSS i logice opartej na węzłach.
  • Scenariusze wymagające własnych transformacji danych między scrapowaniem a zapisaniem.

Gdzie web scraping w n8n zaczyna boleć

  • Użytkownicy nietechniczni, którzy po prostu potrzebują danych szybko. Konfiguracja węzłów, szukanie selektorów CSS i pętla debugowania są trudne dla osób biznesowych.
  • Strony z silną ochroną anty-bot. Proxy i integracje API zwiększają koszt i złożoność.
  • Utrzymanie po zmianach układu strony. Selektory CSS się psują, workflowy przestają działać bez ostrzeżenia.
  • Masowe scrapowanie wielu typów stron. Każda strona wymaga własnej konfiguracji selektorów.
  • Wzbogacanie podstron. Wymaga budowania osobnych pod-workflowów w n8n.

Porównanie obok siebie: n8n vs. Thunderbit vs. skrypty Python

CzynnikScraping DIY w n8nThunderbitSkrypt Python
Wymagana wiedza technicznaŚrednia (węzły + selektory CSS)Brak (AI sugeruje pola)Wysoka (programowanie)
Czas konfiguracji dla nowej strony30–90 minok. 2 min1–4 godz.
Obsługa anty-botRęczna (nagłówki, proxy, API)Wbudowana (tryb browser/cloud)Ręczna (biblioteki)
Utrzymanie po zmianach stronyRęczne aktualizacje selektorówZero — AI dostosowuje się automatycznieRęczne poprawki kodu
Obsługa wieloetapowych workflowówDoskonała (główna zaleta)Eksport do Sheets/Airtable/NotionWymaga własnego kodu
Koszt przy skaliHosting n8n + koszty proxy/APIModel kredytowy (~1 kredyt na wiersz)Koszt serwera + proxy
Wzbogacanie podstronRęczne — osobny pod-workflowScrapowanie podstron jednym kliknięciemWłasny skrypt

Wniosek: używaj n8n, gdy scraping jest częścią złożonego, wieloetapowego łańcucha automatyzacji. Używaj Thunderbit, gdy potrzebujesz danych szybko, bez budowania workflowów. Używaj Pythona, gdy potrzebujesz maksymalnej kontroli i masz zasoby developerskie. To nie są konkurenci — to narzędzia, które się uzupełniają.

n8n-thunderbit-python-comparison.webp

Realne workflowy web scrapingu w n8n, które naprawdę możesz skopiować

Użytkownicy na forum nadal pytają: „Czy ktoś połączył to w wieloetapowe workflowy?” Oto trzy konkretne scenariusze — prawdziwe sekwencje węzłów, które możesz zbudować już dziś.

Workflow 1: Monitor cen konkurencji w e-commerce

Cel: Codziennie śledzić ceny konkurencji i dostawać alert, gdy spadną.

Łańcuch węzłów: Schedule Trigger (codziennie, 8:00) → Code (generowanie URL-i z paginacją) → Loop Over Items → HTTP Request → HTML (wyciągnięcie nazwy produktu, ceny, dostępności) → Wait (2 s) → (powrót do pętli) → Code (czyszczenie danych, normalizacja cen) → Google Sheets (dodanie wierszy) → IF (cena poniżej progu?) → Slack (wysłanie alertu)

Złożoność: 8–10 węzłów, 30–60 min konfiguracji na jedną stronę konkurenta.

Skrót z Thunderbit: Scheduled Scraper w Thunderbit + pozwalają osiągnąć podobny efekt w kilka minut, z darmowym eksportem do Google Sheets.

Workflow 2: Pipeline do generowania leadów sprzedażowych

Cel: Co tydzień scrapować katalog firm, czyścić i kategoryzować leady oraz wysyłać je do CRM.

Łańcuch węzłów: Schedule Trigger (co tydzień, poniedziałek 9:00) → HTTP Request (strona z listą w katalogu) → HTML (wyciągnięcie nazwy, telefonu, e-maila, adresu) → Code (deduplikacja, czyszczenie formatowania) → węzeł OpenAI/Gemini (kategoryzacja według branży) → węzeł HubSpot (tworzenie kontaktów)

Uwaga: n8n ma natywny — przydatny do wysyłania danych do CRM. Ale etap scrapingu i czyszczenia nadal wymaga ręcznej pracy z selektorami CSS.

Skrót z Thunderbit: Darmowy i Phone Number Extractor w Thunderbit potrafią pobrać dane kontaktowe jednym kliknięciem, bez budowania workflowu. AI może też kategoryzować leady już w trakcie ekstrakcji. Użytkownicy, którzy nie potrzebują pełnego łańcucha automatyzacji, mogą całkowicie pominąć konfigurację w n8n.

Workflow 3: Monitor nowych ofert nieruchomości

Cel: Co tydzień wykrywać nowe oferty na Zillow lub Realtor.com i wysyłać podsumowanie e-mailem.

Łańcuch węzłów: Schedule Trigger (co tydzień) → HTTP Request (strony ofert) → HTML (wyciągnięcie adresu, ceny, liczby sypialni, linku) → Code (czyszczenie danych) → Google Sheets (dodanie wpisów) → Code (porównanie z danymi z poprzedniego tygodnia, oznaczenie nowych ofert) → IF (znaleziono nowe oferty?) → Gmail/SendGrid (wysłanie podsumowania)

Uwaga: Thunderbit ma — bez potrzeby używania selektorów CSS. Użytkownicy, którzy potrzebują pełnego łańcucha automatyzacji (scrape → porównanie → alert), skorzystają z n8n; ci, którym potrzebne są tylko dane z ofert, skorzystają z Thunderbit.

Po więcej inspiracji workflowów zajrzyj do biblioteki społeczności n8n, gdzie znajdziesz szablony do , oraz .

Wskazówki, jak utrzymać workflowy web scrapingu w n8n w dobrej kondycji

Scraping produkcyjny to w 20% budowa, a w 80% utrzymanie.

Używaj batchowania i opóźnień, żeby nie wpadać w limity

Włącz batching w węźle HTTP Request i ustaw 1–3 sekundy przerwy między batchami. Równoległe żądania to najszybsza droga do bana na IP. Trochę cierpliwości teraz oszczędza sporo bólu później.

Monitoruj wykonania workflowu, żeby wykrywać ciche awarie

Korzystaj z zakładki Executions w n8n, żeby sprawdzać nieudane uruchomienia. Dane ze scrapingu mogą po cichu zwracać pusty wynik, jeśli strona zmieni układ — workflow „sukces”, ale arkusz pełen pustych pól.

Ustaw workflow Error Trigger, który uruchomi się przy każdym błędnym wykonaniu i wyśle alert na Slacka lub e-mail. W środowisku produkcyjnym to nie jest opcja — to obowiązek.

Przechowuj selektory CSS poza workflowem, żeby łatwo je aktualizować

Trzymaj selektory CSS w Google Sheets albo w zmiennych środowiskowych n8n, żeby móc je zmienić bez edytowania samego workflowu. Gdy układ strony się zmieni, poprawiasz selektor tylko w jednym miejscu.

Wiedz, kiedy przejść na scraper oparty na AI

Jeśli ciągle aktualizujesz selektory CSS, walczysz z zabezpieczeniami anty-bot albo więcej czasu spędzasz na utrzymaniu scraperów niż na korzystaniu z danych, rozważ narzędzie AI, takie jak , które odczytuje stronę na nowo za każdym razem i automatycznie się dostosowuje. Dobrze działa tu : Thunderbit obsługuje kruchą warstwę ekstrakcji (tę, która psuje się przy każdej zmianie <div> na stronie), eksportuje do Google Sheets lub Airtable, a n8n przejmuje nowe wiersze przez natywny trigger Sheets/Airtable, żeby zająć się orkiestracją — aktualizacjami CRM, alertami, logiką warunkową, rozsyłaniem danych do wielu systemów.

Podsumowanie: zbuduj pipeline dopasowany do Twojego zespołu

Web scraping w n8n jest potężny, kiedy potrzebujesz scrapingu jako jednego kroku w większym workflowie automatyzacji. Wymaga jednak technicznej konfiguracji, ciągłego utrzymania i cierpliwości przy paginacji, zabezpieczeniach anty-bot oraz harmonogramach. Ten przewodnik przeprowadził Cię przez pełen proces: pierwszy workflow, paginację (czyli tę część, którą każdy poradnik pomija), planowanie uruchomień, rozwiązywanie problemów anty-bot, uczciwą ocenę miejsca n8n oraz realne workflowy, które możesz skopiować.

Tak ja to widzę:

  • Używaj n8n, gdy scraping jest częścią złożonego, wieloetapowego łańcucha automatyzacji — aktualizacji CRM, alertów Slack, wzbogacania AI, warunkowego routingu.
  • Używaj , gdy potrzebujesz danych szybko, bez budowania workflowów — AI zajmuje się sugerowaniem pól, paginacją, anty-bot i eksportem w 2 kliknięcia.
  • Używaj Pythona, gdy potrzebujesz maksymalnej kontroli i masz zasoby developerskie.

I szczerze: dla wielu zespołów najlepsze jest połączenie obu narzędzi — Thunderbit do ekstrakcji, n8n do orkiestracji. Jeśli chcesz zobaczyć, jak scraping oparty na AI wypada w porównaniu z Twoim workflowem w n8n, pozwala testować na małą skalę — a instaluje się w kilka sekund. Po materiały wideo i pomysły na workflowy zajrzyj na .

Wypróbuj Thunderbit do scrapingu webowego z AI

FAQ

Czy n8n potrafi scrapować strony mocno oparte na JavaScript?

Nie samym węzłem HTTP Request. HTTP Request pobiera surowy HTML i nie uruchamia JavaScriptu. W przypadku stron renderowanych przez JS potrzebujesz węzła społeczności, takiego jak , albo integracji z API do scrapingu (ScrapeNinja, Firecrawl), które renderuje JavaScript po stronie serwera. Thunderbit obsługuje strony ciężkie pod względem JS natywnie, zarówno w trybie Browser, jak i Cloud.

Czy web scraping w n8n jest darmowy?

Wersja self-hosted n8n jest darmowa i open source. n8n Cloud miało wcześniej darmowy plan, ale według stanu na kwiecień 2026 oferuje tylko 14-dniowy trial — potem plany zaczynają się od 24 USD miesięcznie za 2 500 wykonań. Scrapowanie chronionych stron może też wymagać płatnych usług proxy (5–15 USD/GB dla proxy residential) albo API do scrapingu (49–200+ USD miesięcznie, zależnie od wolumenu).

Jak web scraping w n8n wypada na tle Thunderbit?

n8n lepiej sprawdza się w automatyzacjach wieloetapowych, gdzie scraping jest tylko jednym z elementów większego workflowu (np. scrape → wzbogacenie → filtrowanie → wysyłka do CRM → alert w Slacku). Thunderbit jest lepszy do szybkiej, bezkodowej ekstrakcji danych z AI do wykrywania pól, automatycznej paginacji i bez żadnego utrzymania, gdy strona się zmienia. Wiele zespołów używa obu narzędzi razem — Thunderbit do ekstrakcji, n8n do orkiestracji.

Czy mogę scrapować dane ze stron wymagających logowania za pomocą n8n?

Tak, ale wymaga to konfiguracji ciasteczek lub tokenów sesji w węźle HTTP Request, co bywa trudne w utrzymaniu. Tryb Browser Scraping w Thunderbit automatycznie dziedziczy zalogowaną sesję Chrome użytkownika — jeśli jesteś zalogowany, Thunderbit może scrapować to, co widzisz.

Co zrobić, gdy mój scraper w n8n nagle przestaje zwracać dane?

Najpierw sprawdź zakładkę Executions w n8n pod kątem błędów. Najczęstszą przyczyną jest zmiana układu strony, która uszkodziła Twoje selektory CSS — workflow „działa”, ale zwraca puste pola. Zweryfikuj selektory w narzędziu Inspect w Chrome, zaktualizuj je w workflowie (lub w zewnętrznym arkuszu z selektorami) i przetestuj ponownie. Jeśli trafiasz na blokady anty-bot, skorzystaj z drzewa diagnostycznego z tego przewodnika. Dla długoterminowej niezawodności rozważ scraper oparty na AI, taki jak Thunderbit, który automatycznie dostosowuje się do zmian układu.

Dowiedz się więcej

Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
Spis treści

Wypróbuj Thunderbit

Zbieraj leady i inne dane w zaledwie 2 kliknięcia. Z pomocą AI.

Pobierz Thunderbit To za darmo
Wyciągaj dane z użyciem AI
Łatwo przenieś dane do Google Sheets, Airtable lub Notion
PRODUCT HUNT#1 Product of the Week