Una publicación de r/LangChain creó una arquitectura DaaS autónoma para sitios gubernamentales de LATAM: Google Dorks + Llama-3 + MCP, porque Playwright seguía rompiendo con Cloudflare. Esto sigue el mismo patrón con el SERP estructurado de Google de Scavio.
Requisitos previos
- Clave API de Scavio
- Un LLM (cualquiera)
- Un dominio de destino (el ancla 'sitio:')
Guia paso a paso
Paso 1: Definir la plantilla idiota
Operadores estándar de Google: sitio:, tipo de archivo:, título:, inurl:.
TEMPLATES = [
'site:{domain} filetype:pdf {topic}',
'site:{domain} intitle:{topic}',
'site:{domain} inurl:reports {topic}',
'site:{domain} {topic} 2026',
]Paso 2: Ejecute consultas tontas a través de Scavio
Cada idiota es una consulta normal, Scavio devuelve el SERP.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def dork_search(domain, topic):
results = []
for tpl in TEMPLATES:
q = tpl.format(domain=domain, topic=topic)
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': q}).json()
results.extend(r.get('organic_results', []))
return resultsPaso 3: Deduplicar por URL
La misma URL en todas las plantillas es una fuente.
def dedupe(results):
seen = set()
out = []
for r in results:
if r['link'] not in seen:
seen.add(r['link'])
out.append(r)
return outPaso 4: Extraiga una rebaja limpia para los mejores resultados
Scavio /extract convierte cada PDF/HTML en rebajas.
def extract(url):
return requests.post('https://api.scavio.dev/api/v1/extract',
headers=H, json={'url': url, 'format': 'markdown'}).json()Paso 5: Paso de extracción de LLM
Pase Markdown + un mensaje de extracción estructurada.
PROMPT = '''Extract from this document: title, date, summary (3 sentences), key entities (list).
Document:
{md}
---
Return JSON: {{"title": ..., "date": ..., "summary": ..., "entities": [...]}}'''
result = llm.complete(PROMPT.format(md=markdown))Ejemplo en Python
# Per gov-doc pipeline: 4 dorked searches + 1 extract + 1 LLM call = ~$0.025-0.05Ejemplo en JavaScript
// Same pipeline in TS.Salida esperada
Structured records (title, date, summary, entities) for indexed gov documents. Skips the Playwright/Cloudflare fight entirely. Limit: only works on publicly-indexed pages.