Una publicación de r/dataengineering documentó meses tratando de resolver el problema del nombre de la empresa al sitio web. Esta es la receta de Scavio: búsqueda + conocimiento_gráfico + /extracción de verificación, con puntuación de confianza.
Requisitos previos
- Clave API de Scavio
- Cliente Python o Nodo + HTTP
- Una lista de nombres de empresas para resolver
Guia paso a paso
Paso 1: Comience con el nombre de una empresa
Construya la tubería en uno antes de pasar a 10K.
name = 'Stripe'Paso 2: PUBLICAR en la búsqueda de Scavio
Busque la señal del sitio oficial.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f'"{name}" official site'}).json()Paso 3: Elija el dominio candidato
Prefiera Knowledge_graph.website; recurra a organic_results[0].link.
kg = r.get('knowledge_graph', {})
candidate = kg.get('website') or (r.get('organic_results') or [{}])[0].get('link')Paso 4: Verificar mediante /extract
Obtenga la página de inicio del dominio candidato; compruebe que aparece el nombre de la empresa.
page = requests.post('https://api.scavio.dev/api/v1/extract', headers=H, json={'url': candidate}).json()
text = (page.get('text') or '').lower()
verified = name.lower() in textPaso 5: Calcular la puntuación de confianza
hit de Knowledge_graph + nombre en el texto + host no genérico = alto.
confidence = 'high' if kg.get('website') and verified else ('medium' if verified else 'low')Paso 6: Dirigir la baja confianza a la revisión humana
Sinceramente sobre los casos extremos del 4-8%.
if confidence == 'low': enqueue_for_review(name, candidate)Paso 7: Lote de la tubería
Paralelizar entre filas de CRM.
# asyncio.gather(*[resolve(n) for n in names]) — concurrency 10-20Ejemplo en Python
# Per-record: ~2 Scavio calls = ~$0.001-0.005 in credits at Project tier.Ejemplo en JavaScript
// Same shape in TypeScript with fetch + Promise.all batching.Salida esperada
Per record: { name, candidate_url, verified: true|false, confidence: 'high'|'medium'|'low' }. ~92-96% accuracy on clean names.