Buscar Texto do Primeiro Artigo de Notícias GDELT
Workflow manual que busca notícias públicas do GDELT e retorna o texto extraído do primeiro artigo.
Baixar ZIP · 1.1 KB
Antes de Importar
As URLs deste exemplo usam um placeholder https://<your-gdelt-proxy> que você precisa substituir por um serviço hospedado por você:
- A Etapa 1 chama
<your-gdelt-proxy>/doccom os parâmetros de consulta do GDELT DOC 2.0 (query,mode=artlist,maxrecords,format=json) e espera uma resposta JSON com um arrayarticlesem que cada artigo tem umaurl. Isso corresponde ao que o endpoint públicohttps://api.gdeltproject.org/api/v2/doc/docdo GDELT retorna, então seu proxy pode encaminhar essa chamada sem alterações. - A Etapa 2 chama
<your-gdelt-proxy>/doc/contentcom um parâmetrourle espera uma resposta JSON com um campotextcontendo o corpo extraído do artigo. A API pública do GDELT não tem endpoint de extração de texto de artigo, então seu serviço precisa implementar essa parte por conta própria (por exemplo, buscando a URL do artigo e extraindo seu texto legível).
Se você só precisa da listagem de artigos sem o texto completo, veja Buscar Notícias Públicas GDELT (String Codificada), que chama a API pública do GDELT diretamente.
JSON Completo
Clique para expandir
{
"description": "Manual workflow that fetches public GDELT news and returns the extracted text of the first article.",
"tags": [
"manual",
"http",
"news",
"gdelt",
"article-text",
"two-step"
],
"document": {
"name": "Fetch First GDELT News Article Text",
"enabled": true,
"log_level": "info",
"trigger": {
"type": "manual"
},
"workflowInput": [
{
"name": "query",
"description": "Search terms for GDELT public news (e.g., climate change, elections, ai policy)",
"schema": {
"type": "string",
"required": true
}
},
{
"name": "max_records",
"description": "Optional max number of news articles to consider (default: 50)",
"schema": {
"type": "string",
"required": false
}
}
],
"steps": [
{
"condition": {
"expr": "true",
"onFailure": "throw",
"resultType": "any"
},
"action": {
"actionType": "actions/network/http/request/send",
"actions/network/http/request/send": {
"method": "GET",
"url": {
"expr": "url_params(\"https://<your-gdelt-proxy>/doc\", {\"query\": query, \"mode\": \"artlist\", \"maxrecords\": coalesce(max_records, \"50\"), \"format\": \"json\"})",
"onFailure": "throw",
"resultType": "any"
},
"headers": [],
"returnBuffer": false,
"cache": true
}
}
},
{
"condition": {
"expr": "step_ok(0) && present(step_data(0, \"articles.0.url\"))",
"onFailure": "throw",
"resultType": "any"
},
"action": {
"actionType": "actions/network/http/request/send",
"actions/network/http/request/send": {
"method": "GET",
"url": {
"expr": "url_params(\"https://<your-gdelt-proxy>/doc/content\", {\"url\": step_data(0, \"articles.0.url\")})",
"onFailure": "throw",
"resultType": "any"
},
"headers": [],
"returnBuffer": false,
"cache": true
}
}
}
],
"returnExpression": {
"expr": "step_data(1, \"text\", \"\")",
"onFailure": "throw",
"resultType": "any",
"strict": false,
"useSimpleCel": false
},
"customAttributes": {}
}
}