Acum câteva luni, unul dintre utilizatorii noștri ne-a trimis o captură de ecran cu un workflow n8n care avea 14 noduri, vreo jumătate de duzină de sticky notes și un subiect care spunea doar: „Ajutor.” Urmase un tutorial popular de web scraping în n8n, reușise să facă să funcționeze o demonstrație frumoasă cu 10 rânduri pe un site de test, iar apoi încercase să extragă prețurile reale ale concurenței pe 200 de pagini de produs. Rezultatul? Un loop de paginare rupt, un zid de erori 403 și un scheduler tăcut care nu mai pornea după prima zi de marți.
Diferența asta — dintre demo și un pipeline real — este locul în care majoritatea proiectelor de scraping cu n8n se opresc. Am petrecut ani construind și lucrând în automatizare, iar un lucru ți-l pot spune cu siguranță: partea de scraping rareori este cea mai grea. Tot ce vine după prima extragere reușită este, de fapt, ceea ce îi încurcă pe oameni: paginare, programare, protecții anti-bot, curățarea datelor, exportul și — partea cea mai mare — mentenanța atunci când site-ul își schimbă structura pentru a treia oară în trimestrul acesta. Ghidul de față acoperă întregul flux, de la primul nod HTTP Request până la un workflow recurent, gata de producție, pentru web scraping în n8n. Iar acolo unde abordarea DIY din n8n se lovește de limite, îți arăt unde instrumente cu AI precum Thunderbit îți pot economisi ore sau chiar zile de frustrare.
Ce este web scraping-ul în n8n (și de ce majoritatea tutorialelor ating doar suprafața)
n8n este o platformă open-source de automatizare a workflow-urilor, cu low-code. Gândește-te la ea ca la o pânză vizuală în care conectezi „noduri” — fiecare face o sarcină specifică (preia o pagină web, parsează HTML-ul, trimite un mesaj în Slack, scrie în Google Sheets) — și le legi între ele în fluxuri automatizate. Nu ai nevoie de programare intensă, deși poți introduce JavaScript atunci când ai nevoie.
„Web scraping în n8n” înseamnă folosirea nodurilor HTTP Request și HTML integrate în n8n (plus noduri din comunitate) pentru a prelua, parsa și procesa date de pe site-uri în cadrul acestor workflow-uri automatizate. Baza are două etape: Fetch (nodul HTTP Request preia HTML-ul brut dintr-un URL) și Parse (nodul HTML folosește selectori CSS pentru a extrage punctele de date care te interesează — nume de produse, prețuri, emailuri, orice ai nevoie).
Platforma este uriașă: în aprilie 2026, n8n are , peste 230.000 de utilizatori activi, 9.166+ șabloane de workflow din comunitate și lansează, în medie, o versiune minoră nouă cam la fiecare săptămână. În martie 2025 a atras . Există multă energie în jurul ei.
Dar există și un gol despre care aproape nimeni nu vorbește. Cel mai popular tutorial de scraping în n8n de pe dev.to (publicat de Lakshay Nasa, sub organizația „Extract by Zyte”) promitea paginare în „Partea 2”. Partea 2 chiar a apărut — iar concluzia autorului a fost: „N8N ne oferă un mod implicit de paginare în nodul HTTP Request, în secțiunea Options, și deși sună comod, în experiența mea nu s-a comportat fiabil pentru cazurile obișnuite de web scraping.” Până la urmă, autorul a mutat paginarea printr-un API extern plătit. Între timp, utilizatorii din forumul n8n tot repetă „paginare, throttling, login” ca punctele în care scraping-ul în n8n „devine rapid complicat”. Ghidul de față este construit exact pentru a acoperi acest gol.
De ce web scraping-ul în n8n contează pentru echipele de vânzări, operațiuni și ecommerce
Web scraping-ul în n8n nu este un hobby pentru dezvoltatori. Este un instrument de business. se află în 2025 la aproximativ 1–1,3 miliarde de dolari și este estimată să ajungă la 2–2,3 miliarde până în 2030. Doar pricing-ul dinamic este folosit de aproximativ , iar se bazează acum pe date alternative — mult din acestea extrase de pe web. McKinsey arată că pricing-ul dinamic aduce pentru companiile care îl adoptă.
Aici se vede adevărata forță a n8n: nu e vorba doar despre obținerea datelor. E vorba despre ce se întâmplă după. n8n îți permite să legi scraping-ul de acțiuni din aval — actualizări în CRM, alerte Slack, exporturi în spreadsheet, analiză cu AI — într-un singur workflow.
| Caz de utilizare | Cine beneficiază | Ce extragi | Rezultat de business |
|---|---|---|---|
| Generare de lead-uri | Echipe de vânzări | Directoare de afaceri, pagini de contact | Umpli CRM-ul cu lead-uri calificate |
| Monitorizarea prețurilor concurenței | Echipe ecommerce | Pagini de produse | Ajustezi prețurile în timp real |
| Urmărirea anunțurilor imobiliare | Agenți imobiliari | Zillow, Realtor, site-uri MLS locale | Identifici anunțuri noi înaintea concurenței |
| Cercetare de piață | Echipe de marketing | Site-uri de recenzii, forumuri, știri | Identifici tendințe și sentimentul clienților |
| Monitorizarea stocurilor furnizorilor/SKU | Operațiuni supply chain | Pagini de produse ale furnizorilor | Eviți lipsurile de stoc și optimizezi achizițiile |
Datele arată că ROI-ul este real: intenționează să crească investițiile în AI în 2025, iar automatizarea lead nurturing-ului a demonstrat că poate în nouă luni. Dacă echipa ta încă face copy-paste de pe site-uri în spreadsheet-uri, lași bani pe masă.
Trusa ta de lucru pentru web scraping în n8n: noduri esențiale și soluții disponibile
Înainte să construiești ceva, trebuie să știi ce ai la dispoziție. Iată nodurile n8n esențiale pentru web scraping:
- HTTP Request: preia HTML brut de la orice URL. Funcționează ca un browser care cere o pagină, dar returnează codul, nu pagina randată. Suportă GET/POST, headere, batching și, teoretic, paginare integrată.
- HTML (fostul „HTML Extract”): parsează HTML-ul cu selectori CSS pentru a extrage date specifice — titluri, prețuri, linkuri, imagini, orice ai nevoie.
- Code: îți permite să scrii fragmente JavaScript pentru curățarea datelor, normalizarea URL-urilor, eliminarea duplicatelor și logică personalizată.
- Edit Fields (Set): restructurează sau redenumește câmpurile de date pentru nodurile din aval.
- Split Out: sparge array-urile în elemente individuale pentru procesare.
- Convert to File: exportă date structurate în CSV, JSON etc.
- Loop Over Items: iterează prin liste (critic pentru paginare — revenim imediat la asta).
- Schedule Trigger: pornește workflow-ul pe bază de cron.
- Error Trigger: te alertează când un workflow eșuează (esențial pentru producție).
Pentru scraping avansat — site-uri cu randare JavaScript sau protecție anti-bot serioasă — vei avea nevoie de noduri din comunitate:
| Abordare | Potrivit pentru | Nivel de competență | Gestionează site-uri randate cu JS | Anti-bot |
|---|---|---|---|---|
| n8n HTTP Request + HTML | Site-uri statice, API-uri | Începător–intermediar | Nu | Manual (headere, proxy-uri) |
| n8n + nod comunitar ScrapeNinja/Firecrawl | Site-uri dinamice/protejate | Intermediar | Da | Integrat (rotație proxy, CAPTCHA) |
| n8n + Headless Browser (Puppeteer) | Interacțiuni JS complexe | Avansat | Da | Parțial (depinde de configurare) |
| Thunderbit (AI Web Scraper) | Orice site, utilizatori non-tehnici | Începător | Da (Browser sau Cloud) | Integrat (preia sesiunea browserului sau gestionare în cloud) |
În versiunea v2.15.1, n8n nu are un nod nativ de headless browser. Orice scraping pentru site-uri randate cu JavaScript necesită fie un nod din comunitate, fie un API extern.
Un scurt cuvânt despre Thunderbit: este o extensie bazată pe AI, construită de echipa noastră. Apeși „AI Suggest Fields”, apoi „Scrape”, și obții date structurate — fără selectori CSS, fără configurare de noduri, fără mentenanță. Pe parcursul ghidului îți voi arăta unde se potrivește și unde n8n rămâne alegerea mai bună.
Pas cu pas: construiește primul tău workflow de web scraping în n8n
Acum că am acoperit trusa de lucru, hai să construim de la zero un web scraper funcțional în n8n. Voi folosi ca exemplu o pagină de listare de produse — genul de pagină pe care chiar ai vrea să o extragi pentru monitorizarea prețurilor sau cercetarea concurenței.
Înainte să începi:
- Dificultate: Începător–Intermediar
- Timp necesar: ~20–30 minute
- Ai nevoie de: n8n (self-hosted sau Cloud), un URL țintă, browser Chrome (pentru a găsi selectori CSS)
Pasul 1: Creează un workflow nou și adaugă un Manual Trigger
Deschide n8n, apasă „New Workflow” și dă-i un nume descriptiv — de exemplu, „Competitor Price Scraper”. Trage în canvas un nod Manual Trigger. (Mai târziu îl vom schimba cu un trigger programat.)
Ar trebui să vezi un singur nod pe canvas, gata să pornească atunci când apeși „Test Workflow”.
Pasul 2: Preia pagina cu nodul HTTP Request
Adaugă un nod HTTP Request și conectează-l la Manual Trigger. Setează metoda pe GET și introdu URL-ul țintă (de exemplu, https://example.com/products).
Acum vine pasul critic pe care majoritatea tutorialelor îl sar: adaugă un header realist User-Agent. În mod implicit, n8n trimite axios/xx ca user agent — un semn evident că este un bot. În secțiunea „Headers”, adaugă:
| Nume header | Valoare |
|---|---|
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Accept | text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 |
Dacă extragi mai multe URL-uri, activează Batching (în Options) și setează un timp de așteptare de 1–3 secunde între request-uri. Asta ajută la evitarea limitelor de rată.
Rulează nodul. Ar trebui să vezi HTML-ul brut în panoul de output.
Pasul 3: Parsează datele cu nodul HTML
Conectează un nod HTML la output-ul HTTP Request. Setează operația pe Extract HTML Content.
Ca să găsești selectorii CSS potriviți, deschide pagina țintă în Chrome, dă click dreapta pe datele pe care le vrei (de exemplu, titlul unui produs) și alege „Inspect”. În panoul Elements, click dreapta pe elementul HTML evidențiat și selectează „Copy → Copy selector”.
Configurează valorile de extragere astfel:
| Cheie | Selector CSS | Valoare returnată |
|---|---|---|
| product_name | .product-title | Text |
| price | .price-current | Text |
| url | .product-link | Atribut: href |
Execută nodul. Ar trebui să vezi în output un tabel cu date structurate — nume de produse, prețuri și URL-uri.
Pasul 4: Curăță și normalizează cu nodul Code
Datele brute extrase sunt de obicei dezordonate. Prețurile au spații în plus, URL-urile pot fi relative, iar câmpurile text pot avea newline-uri la final. Adaugă un nod Code și conectează-l la nodul HTML.
Iată un fragment JavaScript simplu pentru curățare:
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});
Acest pas este esențial pentru date de calitate de producție. Dacă îl sari, spreadsheet-ul tău va fi plin de intrări de tipul „$ 29.99\n”.
Pasul 5: Exportă în Google Sheets, Airtable sau CSV
Conectează un nod Google Sheets (sau Airtable, sau Convert to File pentru CSV). Autentifică-te cu contul Google, selectează spreadsheet-ul și sheet-ul, apoi mapează câmpurile din output-ul nodului Code către coloanele tale.
Rulează workflow-ul complet. Ar trebui să vezi date curate și structurate ajungând în spreadsheet.
Notă: în Google Sheets, Airtable, Notion și Excel, fără să configurezi niciun nod. Dacă nu ai nevoie de un lanț complet de workflow-uri și vrei doar datele, este o scurtătură foarte utilă.
Partea pe care o omit toate tutorialele de web scraping în n8n: workflow-uri complete de paginare
Paginarea este principalul gol din conținutul despre scraping în n8n — și principala sursă de frustrare în forumurile comunității n8n.
Există două tipare principale de paginare:
- Paginare bazată pe click / incrementare de URL — pagini de tipul
?page=1,?page=2etc. - Infinite scroll — conținutul se încarcă pe măsură ce derulezi în jos (gândește-te la Twitter, Instagram sau multe cataloage moderne de produse).
Paginarea bazată pe click în n8n (incrementarea URL-ului cu noduri Loop)
Opțiunea de paginare integrată din meniul Options al nodului HTTP Request sună convenabil. În practică însă, nu este fiabilă. Autorul celui mai popular tutorial de scraping în n8n (Lakshay Nasa) a încercat-o și a scris: „nu s-a comportat fiabil în experiența mea.” Utilizatorii din forum raportează că , și nu reușește să detecteze ultima pagină.

Abordarea sigură: construiești explicit lista de URL-uri într-un nod Code, apoi iterezi cu Loop Over Items.
Iată cum:
- Adaugă un nod Code care generează URL-urile paginilor:
1const base = 'https://example.com/products';
2const totalPages = 10; // sau detectează dinamic
3return Array.from({length: totalPages}, (_, i) => ({
4 json: { url: `${base}?page=${i + 1}` }
5}));
- Conectează un nod Loop Over Items ca să parcurgi lista.
- În interiorul loop-ului, adaugă nodul HTTP Request (setează URL-ul la
{{ $json.url }}), apoi nodul HTML pentru parsing. - Adaugă un nod Wait (1–3 secunde, randomizat) în loop pentru a evita erorile 429 de limitare a ratei.
- După loop, agregă rezultatele și exportă în Google Sheets sau CSV.
Lanțul complet: Code (generează URL-urile) → Loop Over Items → HTTP Request → HTML → Wait → (revino în loop) → Aggregate → Export.
Un lucru de avut în vedere: nodul Loop Over Items are un în care loop-urile imbricate sar peste elemente fără să dea erori. Dacă faci paginare și îmbogățești subpagini, testează cu atenție — numărul „done” poate să nu coincidă cu numărul de elemente de intrare.
Paginarea cu infinite scroll: de ce nodurile native din n8n se descurcă greu
Paginile cu infinite scroll încarcă conținut prin JavaScript pe măsură ce derulezi. Nodul HTTP Request preia doar HTML-ul inițial — nu poate executa JavaScript și nici nu poate declanșa evenimente de scroll. Ai două opțiuni:
- Folosește un nod comunitar de headless browser (de exemplu, sau ) pentru a randa pagina și a simula scroll-ul.
- Folosește un API de scraping (ScrapeNinja, Firecrawl, ZenRows) cu randare JavaScript activată.
Ambele cresc semnificativ complexitatea. Vorbim de 30–60+ minute de configurare pentru fiecare site, plus mentenanță continuă.
Cum gestionează Thunderbit paginarea fără configurare
Sunt subiectiv, dar diferența este foarte clară:
| Capabilitate | n8n (workflow DIY) | Thunderbit |
|---|---|---|
| Paginare bazată pe click | Configurare manuală a nodului loop, incrementare URL | Automată — detectează și urmărește paginarea |
| Pagini cu infinite scroll | Necesită headless browser + nod comunitar | Suport integrat, fără configurare |
| Efort de configurare | 30–60 min per site | 2 click-uri |
| Pagini per lot | Secvențial (una câte una) | 50 de pagini simultan (Cloud Scraping) |
Dacă extragi 200 de pagini de produse din 10 listări paginate, n8n îți va consuma o după-amiază întreagă. Thunderbit îți va lua aproximativ două minute. Nu este o critică la adresa n8n — este doar alt instrument pentru altă treabă.
Setezi și uiți: pipeline-uri n8n de web scraping declanșate de cron
Scraping-ul ocazional este util, dar adevărata putere a web scraping-ului în n8n este colectarea automată, recurentă, de date. Surprinzător, aproape niciun tutorial de scraping în n8n nu acoperă Schedule Trigger pentru scraping — deși este una dintre cele mai cerute funcționalități în comunitate.
Construirea unui pipeline zilnic de monitorizare a prețurilor
Înlocuiește Manual Trigger cu un nod Schedule Trigger. Poți folosi UI-ul n8n („Every day at 8:00 AM”) sau o expresie cron (0 8 * * *).
Lanțul complet al workflow-ului:
- Schedule Trigger (zilnic la 8:00)
- Code (generează URL-urile paginate)
- Loop Over Items → HTTP Request → HTML → Wait (extrage toate paginile)
- Code (curăță datele, normalizează prețurile)
- Google Sheets (adaugă rânduri noi)
- IF (prețul a scăzut sub prag?)
- Slack (trimite alertă dacă da)
Construiește alături un workflow cu Error Trigger care pornește la orice execuție eșuată și trimite un ping în Slack. Altfel, când se rup selectorii (și se vor rupe), vei descoperi asta abia peste trei săptămâni, când raportul e gol.
Două cerințe mai puțin evidente:
- n8n trebuie să ruleze 24/7. Un self-host pe laptop nu va porni când capacul este închis. Folosește un server, Docker sau n8n Cloud.
- După fiecare modificare a workflow-ului, oprește-l și pornește-l din nou. n8n Cloud are o în care scheduler-ele se dezînregistrează în tăcere după editări, fără niciun mesaj de eroare.
Construirea unui pipeline săptămânal de extragere de lead-uri
Același tipar, alt obiectiv: Schedule Trigger (în fiecare luni la 9:00) → HTTP Request (director de firme) → HTML (extrage nume, telefon, email) → Code (elimină duplicatele, curăță formatul) → push în Airtable sau HubSpot.

Costul de mentenanță este partea despre care se vorbește prea puțin. Dacă site-ul director își schimbă structura, selectorii CSS se rup și workflow-ul e eșuează în tăcere. HasData estimează că din timpul inițial de construire ar trebui bugetat anual pentru mentenanță continuă, în orice pipeline bazat pe selectori. Când menții aproximativ 20 de site-uri, suprasarcina devine reală.
Scheduled Scraper-ul Thunderbit: alternativa no-code
Scheduled Scraper-ul Thunderbit îți permite să descrii intervalul în limbaj natural (de exemplu, „în fiecare luni la 9:00”), să introduci URL-urile și să apeși „Schedule”. Rulează în cloud — fără hosting, fără expresii cron, fără dezînregistrări silențioase.
| Dimensiune | Workflow programat în n8n | Thunderbit Scheduled Scraper |
|---|---|---|
| Configurarea programării | Expresie cron sau UI-ul de scheduling din n8n | Descriere în limbaj natural |
| Curățarea datelor | Necesită manual nodul Code | AI curăță/etichetează/traduce automat |
| Destinații de export | Necesită noduri de integrare | Google Sheets, Airtable, Notion, Excel (gratuit) |
| Cerință de hosting | Self-hosted sau n8n Cloud | Niciuna — rulează în cloud |
| Mentenanță la schimbarea site-ului | Se rup selectorii, trebuie reparat manual | AI citește site-ul proaspăt de fiecare dată |
Ultimul rând este cel mai important. Utilizatorii din forum spun direct: „majoritatea merg bine până când un site își schimbă layout-ul.” Abordarea bazată pe AI din Thunderbit elimină această problemă, pentru că nu se bazează pe selectori CSS fixați.
Când n8n web scraper-ul tău este blocat: ghid de depanare anti-bot
Blocarea este frustrarea numărul 1 după paginare. Sfatul standard — „adaugă un header User-Agent” — e cam la fel de util ca o ușă de plasă în fața unui uragan.
Conform raportului Imperva 2025 Bad Bot, , iar dintre ei sunt malițioși. Furnizorii anti-bot (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) au răspuns cu fingerprinting TLS, provocări JavaScript și analiză comportamentală. Nodul HTTP Request din n8n, care folosește biblioteca Axios sub capotă, produce un fingerprint TLS distinct, ușor de recunoscut, care nu pare a fi al unui browser. Schimbarea headerului User-Agent nu ajută cu nimic — hash-ul te demască înainte să fie citit vreun header HTTP.
Arborele de decizie anti-bot
Iată un cadru de depanare sistematic — nu doar „adaugă un User-Agent”:
Request blocat?
- 403 Forbidden → adaugă headerele User-Agent + Accept (vezi Pasul 2 de mai sus) → tot blocat?
- Da → adaugă rotație de proxy-uri rezidențiale → tot blocat?
- Da → treci la un API de scraping (ScrapeNinja, Firecrawl, ZenRows) sau la un nod comunitar de headless browser
- Nu → continuă
- Nu → continuă
- Da → adaugă rotație de proxy-uri rezidențiale → tot blocat?
- Apare CAPTCHA → folosește un API de scraping cu rezolvare CAPTCHA integrată (de exemplu, )
- Răspuns gol (conținut randat cu JS) → folosește un nod comunitar de headless browser sau un API de scraping cu randare JS
- Limitare de rată (eroare 429) → activează batching pe nodul HTTP Request, setează un timp de așteptare de 2–5 secunde între loturi, redu concurența
Încă o capcană: n8n are un în care nodul HTTP Request nu poate face tunelare corectă pentru HTTPS printr-un proxy HTTP. Biblioteca Axios dă eroare la handshake-ul TLS, deși curl în același container funcționează perfect. Dacă folosești proxy și primești erori misterioase de conexiune, probabil acesta este motivul.
De ce Thunderbit ocolește majoritatea problemelor anti-bot
Thunderbit oferă două moduri de scraping:
- Browser Scraping: rulează în browserul tău Chrome real, preluând cookie-urile de sesiune, starea de autentificare și fingerprint-ul browserului. Astfel, ocolește majoritatea măsurilor anti-bot care blochează request-urile server-side — pentru că request-ul chiar vine de la un browser real.
- Cloud Scraping: pentru site-uri publice, cloud-ul Thunderbit gestionează anti-bot la scară — .
Dacă petreci mai mult timp luptându-te cu Cloudflare decât analizând datele, aceasta este alternativa practică.
O opinie sinceră: când funcționează web scraping-ul în n8n — și când e mai bine să folosești altceva
n8n este o platformă excelentă. Dar nu este instrumentul potrivit pentru orice job de scraping, iar niciun articol de comparație nu este sincer pe tema asta. Utilizatorii întreabă efectiv în forumuri: „cât de greu este să creezi un web scraper cu n8n?” și „care instrument de scraping merge cel mai bine cu n8n?”
Unde excelează web scraping-ul în n8n
- Workflow-uri cu mai mulți pași care combină scraping-ul cu procesare din aval — actualizări CRM, alerte Slack, analiză AI, scriere în baze de date. Aceasta este forța principală a n8n.
- Situații în care scraping-ul este doar un nod într-un lanț mare de automatizare — scrape → enrich → filter → push în CRM.
- Utilizatori tehnici care se simt confortabil cu selectori CSS și logică bazată pe noduri.
- Scenarii care cer transformare personalizată a datelor între extragere și stocare.
Unde web scraping-ul în n8n devine dureros
- Utilizatori non-tehnici care au nevoie doar de date rapid. Configurarea nodurilor, descoperirea selectorilor CSS și ciclul de debugging sunt destul de abrupte pentru utilizatorii de business.
- Site-uri cu protecție anti-bot agresivă. Proxy-urile și API-urile adaugă cost și complexitate.
- Mentenanță când layout-ul site-ului se schimbă. Selectorii CSS se rup, workflow-urile eșuează în tăcere.
- Scraping în volum pe multe tipuri de site-uri diferite. Fiecare site are nevoie de propria configurare de selectori.
- Îmbogățirea subpaginilor. Necesită construirea unor sub-workflow-uri separate în n8n.
Comparație directă: n8n vs. Thunderbit vs. scripturi Python
| Factor | Scraping DIY în n8n | Thunderbit | Script Python |
|---|---|---|---|
| Nivel tehnic necesar | Intermediar (noduri + selectori CSS) | Deloc (AI sugerează câmpuri) | Ridicat (codare) |
| Timp de configurare per site nou | 30–90 min | ~2 minute | 1–4 ore |
| Gestionarea anti-bot | Manual (headere, proxy-uri, API-uri) | Integrat (mod browser/cloud) | Manual (biblioteci) |
| Mentenanță când site-ul se schimbă | Actualizări manuale ale selectorilor | Zero — AI se adaptează automat | Actualizări manuale ale codului |
| Suport pentru workflow-uri cu mai mulți pași | Excelent (punct forte) | Export în Sheets/Airtable/Notion | Necesită cod personalizat |
| Cost la scară | Hosting n8n + costuri proxy/API | Pe bază de credite (~1 credit per rând) | Server + costuri proxy |
| Îmbogățire subpagini | Manual — construiești sub-workflow separat | Scraping subpagini cu 1 click | Scriptare personalizată |
Concluzia: folosește n8n atunci când scraping-ul este doar o parte dintr-un lanț complex de automatizare. Folosește Thunderbit când ai nevoie rapidă de date și nu vrei să construiești workflow-uri. Folosește Python când ai nevoie de control maxim și ai resurse de dezvoltare. Nu sunt competitori — sunt complementari.

Workflow-uri reale de web scraping în n8n pe care chiar le poți copia
Utilizatorii din forum tot întreabă: „A legat cineva aceste lucruri într-un workflow cu mai mulți pași?” Iată trei workflow-uri concrete — secvențe reale de noduri pe care le poți construi chiar azi.
Workflow 1: Monitor de prețuri pentru concurența din ecommerce
Scop: urmărește zilnic prețurile concurenței și primește alertă când scad.
Lanț de noduri: Schedule Trigger (zilnic, 8:00) → Code (generează URL-uri paginate) → Loop Over Items → HTTP Request → HTML (extrage numele produsului, prețul, disponibilitatea) → Wait (2 sec) → (revino în loop) → Code (curăță datele, normalizează prețurile) → Google Sheets (adaugă rânduri) → IF (preț sub prag?) → Slack (trimite alertă)
Complexitate: 8–10 noduri, 30–60 min configurare per site concurent.
Scurtătură Thunderbit: Scheduled Scraper-ul Thunderbit + pot obține rezultate similare în câteva minute, cu export gratuit în Google Sheets.
Workflow 2: Pipeline de generare de lead-uri pentru vânzări
Scop: extrage săptămânal un director de afaceri, curăță și categorizează lead-urile, apoi le trimite în CRM.
Lanț de noduri: Schedule Trigger (săptămânal, luni 9:00) → HTTP Request (pagina de listare din director) → HTML (extrage nume, telefon, email, adresă) → Code (elimină duplicatele, curăță formatul) → nod OpenAI/Gemini (categorizează după industrie) → nod HubSpot (creează contacte)
Notă: n8n are un nod nativ — util pentru push în CRM. Dar pașii de scraping și curățare tot necesită muncă manuală cu selectori CSS.
Scurtătură Thunderbit: și Phone Number Extractor gratuite de la Thunderbit pot extrage informațiile de contact cu un singur click, fără să construiești un workflow. Etichetarea AI poate categoriza lead-urile chiar în timpul extragerii. Utilizatorii care nu au nevoie de lanțul complet de automatizare pot sări peste configurarea n8n.
Workflow 3: Urmăritor de anunțuri noi în imobiliare
Scop: identifică săptămânal anunțuri noi pe Zillow sau Realtor.com și trimite un email digest.
Lanț de noduri: Schedule Trigger (săptămânal) → HTTP Request (pagini de listare) → HTML (extrage adresă, preț, dormitoare, link) → Code (curăță datele) → Google Sheets (adaugă) → Code (compară cu datele din săptămâna precedentă, marchează anunțurile noi) → IF (s-au găsit anunțuri noi?) → Gmail/SendGrid (trimite digest)
Notă: Thunderbit are — fără selectori CSS. Utilizatorii care au nevoie de lanțul complet de automatizare (scrape → compare → alert) beneficiază de n8n; cei care au nevoie doar de datele anunțurilor beneficiază de Thunderbit.
Pentru și mai multă inspirație, biblioteca comunității n8n are șabloane pentru , și .
Sfaturi pentru a menține pipeline-urile de web scraping în n8n să ruleze fără probleme
Scraping-ul în producție înseamnă 20% construire și 80% mentenanță.
Folosește batching și întârzieri pentru a evita limitele de rată
Activează batching pe nodul HTTP Request și setează o pauză de 1–3 secunde între loturi. Request-urile concurente sunt cea mai rapidă cale către blocarea IP-ului. Puțină răbdare acum îți economisește multă durere mai târziu.
Monitorizează execuțiile workflow-ului pentru eșecuri silențioase
Folosește tab-ul Executions din n8n pentru a verifica rulările eșuate. Datele extrase pot reveni goale fără avertisment dacă un site își schimbă structura — workflow-ul „reușește”, dar spreadsheet-ul tău e plin de goluri.
Configurează un workflow cu Error Trigger care pornește la orice execuție eșuată și trimite o alertă în Slack sau pe email. Pentru pipeline-uri de producție, asta nu e opțional.
Stochează selectorii CSS în afara workflow-ului, ca să-i poți actualiza ușor
Păstrează selectorii CSS într-un Google Sheet sau în variabile de mediu n8n, astfel încât să-i poți actualiza fără să editezi workflow-ul propriu-zis. Când un site își schimbă layout-ul, trebuie să actualizezi selectorul într-un singur loc.
Știi când să treci la un scraper cu AI
Dacă ajungi să actualizezi constant selectori CSS, să te lupți cu măsuri anti-bot sau să petreci mai mult timp întreținând scrapers decât folosind datele, ia în calcul un instrument AI precum care citește site-ul din nou, de fiecare dată, și se adaptează automat. Abordarea de tip funcționează foarte bine: Thunderbit gestionează stratul fragil de extragere (partea care se rupe de fiecare dată când un site schimbă un <div>), exportă în Google Sheets sau Airtable, iar n8n preia noile rânduri prin trigger-ele native Sheets/Airtable pentru orchestrare — actualizări CRM, alerte, logică condițională, distribuție către mai multe sisteme.
Încheiere: construiește pipeline-ul potrivit pentru echipa ta
Web scraping-ul în n8n este puternic atunci când ai nevoie de scraping ca un pas într-un workflow de automatizare mai amplu. Dar necesită configurare tehnică, mentenanță continuă și răbdare cu setările de paginare, anti-bot și programare. Ghidul acesta a acoperit întregul flux: primul workflow, paginarea (partea pe care o sar toate tutorialele), programarea, depanarea anti-bot, o evaluare sinceră a locului în care se potrivește n8n și workflow-uri reale pe care le poți copia.
Eu văd lucrurile așa:
- Folosește n8n când scraping-ul face parte dintr-un lanț complex de automatizare cu mai mulți pași — actualizări CRM, alerte Slack, îmbogățire AI, rutare condițională.
- Folosește când ai nevoie rapidă de date și nu vrei să construiești workflow-uri — AI se ocupă de sugerarea câmpurilor, paginare, anti-bot și export în doar 2 click-uri.
- Folosește Python când ai nevoie de control maxim și ai resurse de dezvoltare.
Și, sincer, cea mai bună configurație pentru multe echipe este ambele: Thunderbit pentru extragere, n8n pentru orchestrare. Dacă vrei să vezi cum arată scraping-ul cu AI comparat cu workflow-ul tău din n8n, îți permite să experimentezi la scară mică — iar se instalează în câteva secunde. Pentru tutoriale video și idei de workflow, verifică .
FAQ
Poate n8n să extragă site-uri cu mult JavaScript?
Nu cu nodul HTTP Request integrat, de unul singur. Nodul HTTP Request preia HTML brut și nu poate executa JavaScript. Pentru site-uri randate prin JS, ai nevoie de un nod comunitar precum sau de o integrare cu un API de scraping (ScrapeNinja, Firecrawl) care randează JavaScript pe server. Thunderbit gestionează nativ site-urile grele în JS, atât în Browser, cât și în Cloud scraping.
Este web scraping-ul în n8n gratuit?
Versiunea self-hosted a n8n este gratuită și open-source. n8n Cloud avea înainte un plan gratuit, dar în aprilie 2026 oferă doar un trial de 14 zile — după aceea, planurile pornesc de la 24 USD/lună pentru 2.500 de execuții. Scraping-ul site-urilor protejate poate necesita și servicii plătite de proxy-uri (5–15 USD/GB pentru proxy-uri rezidențiale) sau API-uri de scraping (49–200+ USD/lună, în funcție de volum).
Cum se compară web scraping-ul în n8n cu Thunderbit?
n8n este mai bun pentru automatizări cu mai mulți pași, în care scraping-ul este doar o parte dintr-un workflow mai mare (de exemplu, scrape → enrich → filter → push în CRM → alertă în Slack). Thunderbit este mai bun pentru extragere rapidă de date, no-code, cu detectare AI a câmpurilor, paginare automată și mentenanță zero atunci când site-urile se schimbă. Multe echipe le folosesc împreună — Thunderbit pentru extragere, n8n pentru orchestrare.
Pot extrage date de pe site-uri care cer autentificare folosind n8n?
Da, dar trebuie să configurezi cookie-uri sau token-uri de sesiune în nodul HTTP Request, ceea ce poate fi dificil de întreținut. Modul Browser Scraping din Thunderbit preia automat sesiunea Chrome autentificată a utilizatorului — dacă ești logat, Thunderbit poate extrage exact ce vezi.
Ce fac când scraper-ul meu n8n nu mai returnează brusc date?
Mai întâi, verifică tab-ul Executions din n8n pentru erori. Cea mai frecventă cauză este o schimbare de layout pe site, care a rupt selectoarele CSS — workflow-ul „reușește”, dar returnează câmpuri goale. Verifică selectorii în instrumentul Inspect din Chrome, actualizează-i în workflow (sau în sheet-ul extern cu selectori) și testează din nou. Dacă te lovești de blocaje anti-bot, urmează arborele de depanare din acest ghid. Pentru fiabilitate pe termen lung, ia în calcul un scraper cu AI precum Thunderbit, care se adaptează automat la schimbările de layout.
Află mai mult