Ricette

Aggregatore di notizie

Aggrega i titoli da più fonti di notizie con due passaggi batch

Design a due passaggi: distilla la homepage di ogni fonte per scoprire gli URL degli articoli, poi estrai record strutturati di titoli da quegli URL.

Flusso

  1. Pass 1/batch/distill sulla homepage di ogni fonte con include: ["links"]
  2. Filtra i link scoperti per pattern (es. data odierna, percorsi degli articoli)
  3. Pass 2/batch/extract sugli URL filtrati con uno schema dei titoli
  4. Il Webhook scatta al completamento di entrambi i passaggi; ingerisci nel tuo store

Schema

{
  "type": "object",
  "properties": {
    "title":       { "type": "string", "description": "The article headline" },
    "url":         { "type": "string", "description": "Canonical article URL" },
    "publishedAt": { "type": "string", "description": "ISO-8601 publish timestamp" },
    "summary":     { "type": "string", "description": "1-2 sentence summary" }
  },
  "required": ["title", "url"]
}

Bozza di implementazione

import httpx

API = "https://openapi.thunderbit.com/openapi/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}

# Pass 1: distill homepages, collect article URLs
sources = ["https://news.example.com", "https://blog.example.org"]
home_job = httpx.post(f"{API}/batch/distill",
                      headers=H,
                      json={"urls": sources, "include": ["links"]}).json()
# (poll until COMPLETED — see Batch Job Lifecycle guide)

article_urls = []
for r in home_job["data"]["results"]:
    if r["status"] == "SUCCEEDED":
        article_urls += [u for u in r["links"] if "/article/" in u]

# Pass 2: extract structured headlines
extract_job = httpx.post(f"{API}/batch/extract",
                         headers=H,
                         json={"urls": article_urls, "schema": SCHEMA}).json()

Suggerimenti

  • Cache dei risultati delle homepage (TTL di 5-10 min) per evitare di bruciare crediti sugli stessi titoli
  • Imposta un countryCode se una fonte localizza la propria homepage per IP
  • Deduplica per URL canonico o hash del contenuto — lo stesso titolo appare spesso su più fonti

Correlati

Questa ricetta è in fase di espansione con un orchestrator completo a due passaggi — torna presto.