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
- Pass 1 —
/batch/distillsulla homepage di ogni fonte coninclude: ["links"] - Filtra i link scoperti per pattern (es. data odierna, percorsi degli articoli)
- Pass 2 —
/batch/extractsugli URL filtrati con uno schema dei titoli - 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
countryCodese 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.