Contatti: Crawler intelligente (14 lingue)

action_contact_discovery · action · Utility · Disponibile · v1.1.0

Descrizione

Mini-agente enterprise di contact discovery che parte da un URL homepage di una azienda e NAVIGA sistematicamente il sito web alla ricerca della email business più probabile, simulando il pattern di ricerca manuale che un sales rep usa quando esamina il prospect per identificare il contact point. Pipeline di navigation strutturata multi-fase: (1) crawl della homepage primaria con extraction di tutte le link visibili nel header/footer, (2) ricerca automatic delle "smart pages" tipiche per contact information — /contatti /contact /contact-us /chi-siamo /about /about-us /team /staff /impressum (la pagina obbligatoria per legge tedesca con dati aziendali) /contattaci /legal /privacy con varianti multi-lingua del path, (3) parse del sitemap.xml ufficiale per discovery pagine dedicate non linkate dalla home, (4) fallback strategy via DuckDuckGo search restricted al dominio "site:acme.com contact email" per trovare pagine nascoste dalla navigation principale. Vocabolario multi-lingua nativo per riconoscere le label di pagine "contatti" in 14 lingue diverse: italiano (Contatti, Contattaci, Chi siamo, Lavora con noi), inglese (Contact, Contact Us, About, Team), tedesco (Kontakt, Impressum — obbligatorio per legge DE, Über uns, Team), francese (Contact, À propos, Équipe), spagnolo (Contacto, Acerca de, Equipo), portoghese (Contato, Sobre, Equipa), olandese (Contact, Over ons), greco (Επικοινωνία, Σχετικά), scandinavi svedese/norvegese/danese/finlandese/islandese, croato (Kontakt). Coverage tipica EU + USA + qualche emerging market. Rispetta robots.txt scrupolosamente (un publisher può escludere /admin/ /login/ e qualsiasi path che NON vuole sia crawlato — il nodo skipa quei path), rate-limit 2 req/sec per host (good-citizen standard per non risultare aggressive scanner che il publisher considererebbe abuse), cache LRU 7 giorni per host normalizzato (workflow batch su 1000 lead della stessa azienda non ricrawlano la stessa azienda 1000 volte). Zero LLM dependency nel core algorithm — questo è un IMPORTANTE feature: il crawl è deterministico (stesso input → SEMPRE stesso output per audit + reproducibility), no costo per-token, no exposure di dati PII del prospect a provider LLM esterni (GDPR-friendly), no dipendenza da API rate-limit di LLM esterni. Il LLM si può aggiungere downstream per personalization come opt-in. Output: email primaria (la più probabile da contattare — typically person email > role-based info@), tutte le email trovate con confidence score, pagina specifica dove trovata (per audit trail), lista di path tentati (per debug se non trovate). Use case: lead-gen B2B con discovery deterministica zero-LLM-cost (loop su 1000 company URL → contact discovery → email validation MX → personalization → outreach); arricchimento CRM partendo solo dal dominio aziendale (un sales rep ha solo "@acme.com" → workflow → email reale del decision-maker); verifica audit-friendly che la propria pagina /contatti renda email crawlable per accessibility e SEO; outreach internazionale multi-lingua senza traduzioni manuali (German DACH market via Impressum detection); pre-flight check di lead lists comprate da broker (verifica che gli URL aziendali del lead db hanno effettivamente contact reali → cleansing del dataset acquistato).

⚙️ 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