Contatti: Crawler intelligente (14 lingue)

action_contact_discovery · action · Utility · Disponibile · v1.1.0

Descrizione

Mini-agente di crawling: parte da un URL homepage e NAVIGA il sito (homepage → /contatti → /about → /team → /impressum → sitemap.xml → DDG fallback) finché trova un'email business valida. Vocabolario in 14 lingue (IT/EN/DE/FR/ES/PT/NL/EL + scandi SE/NO/DK/FI/IS + HR). Rispetta robots.txt, rate-limit 2 req/s per host, cache LRU 7 giorni. Zero LLM dependency. Output: email primaria + tutte le email + pagina dove trovata + path tentati.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
homeUrl
URL homepage azienda
expressionsi
{{loop.item}} oppure https://arifin.it
URL della homepage. Il nodo scopre AUTONOMAMENTE le pagine contatti/about/team/impressum. Accetta sia URL fisso che espressione runtime (es. {{loop.item}} dentro un loop, {{$node.search.json.url}} dopo una ricerca).
maxPages
Pagine massime per dominio
numberno5Hard cap di pagine visitate per dominio. • 3 = veloce, copre homepage + 2 contact pages (basso impatto) • 5 = default bilanciato — homepage + 4 pagine prioritarie + sitemap • 10 = approfondito, per siti grandi multi-lingua (es. cantieri internazionali) • 20 = max raccomandato (oltre = abuse).
timeoutMs
Timeout totale per dominio (ms)
numberno30000Timeout end-to-end per dominio. Esempi: • 15000 (15s) — solo siti veloci • 30000 (30s) — default, copre 95% dei siti business • 60000 (60s) — per siti lenti (es. cantieri legacy con server vecchi) Allo scadere ritorna risultati parziali (paths_tried popolato anche se 0 email).
respectRobots
Rispetta robots.txt (raccomandato)
booleannotrueSe ON, legge /robots.txt del sito e SKIPPA i path Disallow. ⚠️ Disabilitare SOLO per ragioni legittime (es. sito proprio in fase test). Crawling contro robots.txt è eticamente scorretto e PUÒ causare ban IP + responsabilità GDPR/CCPA.
ddgFallback
Fallback DuckDuckGo (raccomandato)
booleannotrueSe ON, quando il crawling del sito non trova email, esegue una search DDG `site:dominio.it contatti email` come ultimo tentativo. Aggiunge ~3s ma aumenta significativamente l'hit rate (+15-20% in test).
followSitemap
Fetch sitemap.xml (raccomandato)
booleannotrueSe ON, cerca /sitemap.xml e /sitemap_index.xml. Estrae URL che contengono keyword contatti (contatti, contact, kontakt, ecc.) e li visita. Molti siti enterprise hanno la pagina contatti SOLO via sitemap (non linkata in homepage).
bypassCache
Bypass cache (forza re-fetch)
booleannofalseSe ON, ignora la cache LRU 7-giorni e ri-fetcha il dominio. Usare SOLO per: • Testing / debugging • Sito appena modificato (azienda ha pubblicato nuova pagina contatti) • Cron mensile per refresh proattivo Costo: +3-15s di rete per dominio.
minEmailConfidence
Confidence minima email (avanzato)
numberno0Filtra email con confidence sotto la soglia. Scala 0-100. Esempi: • 0 (default) = nessun filtro, accetta tutto • 70 = solo email da regex pulito + mailto: + Cloudflare decode • 90 = SOLO email da mailto: links (massima certezza) Confidence assegnata: mailto=100, Cloudflare=95, HTML-entity=90, plain-text=80, obfuscated=70.
preferredLocalParts
Local-part prioritari (CSV, avanzato)
stringnocommerciale,sales,info,contact,contatti,venditeLista CSV di local-part (la parte prima della @) da preferire per primary_email. La prima email trovata che matcha viene scelta. Default copre cold outreach B2B (commerciale/sales/info). Customizza per altri verticali: HR cerca "hr,recruiting,careers"; Tech cerca "tech,support,api".
maxConcurrentFetchPerHost
Richieste parallele per host (avanzato)
numberno2Rate limit: max richieste parallele verso UN dominio. • 1 = ultra-conservativo (per siti fragili) • 2 = default bilanciato (good citizen) • 4 = veloce ma più aggressivo (rischio rate-limit del target) NON impatta multi-dominio: 100 domini diversi vengono fetchati in parallelo.

⬆️ Output del nodo

Campi disponibili nei nodi successivi via $node.<alias>.json.<field>:

  • emails
  • primary_email
  • source_page
  • pages_visited
  • paths_tried
  • domain
  • took_ms
  • cache_hit
  • has_emails
  • reason_if_empty

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_contact_discovery-1",
  "defId": "action_contact_discovery",
  "label": "Contatti: Crawler intelligente (14 lingue)",
  "config": {
    "homeUrl": "{{loop.item}}  oppure  https://arifin.it",
    "maxPages": 5,
    "timeoutMs": 30000,
    "respectRobots": true,
    "ddgFallback": true,
    "followSitemap": true,
    "bypassCache": false,
    "minEmailConfidence": 0,
    "preferredLocalParts": "commerciale,sales,info,contact,contatti,vendite",
    "maxConcurrentFetchPerHost": 2
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Contatti: Crawler intelligente (14 lingue)?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi