Agregador de Resultados
Aprenda como retornar múltiplas respostas do Web Scraper API como uma única saída maior usando o Result Aggregator.
O Agregador de Resultados permite coletar vários resultados pequenos de trabalhos separados de scraping ou parsing em um único arquivo agregado. Isso é mais útil quando você executa inúmeros trabalhos que retornam muitos arquivos pequenos que poderiam ser combinados em coleções de saída maiores ou precisam processar resultados em arquivos em lote (JSON, JSONL ou Gzip).
As respostas agregadas podem ser entregues ao seu armazenamento em nuvem (Google Cloud Storage, Amazon S3 ou outros serviços compatíveis com S3).
Como usá-lo
Criar um agregador
Primeiro, defina uma instância de agregador com destino de armazenamento de entrega e gatilhos de entrega.
Exemplo de requisição
A requisição a seguir cria um agregador que faz upload de um arquivo em lote a cada 1 hora (cron schedule) ou quando o arquivo atingir 500MB (524288000 bytes), o que ocorrer primeiro.
curl -X POST https://data.oxylabs.io/v1/aggregators \
-u "USERNAME:PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"name": "amazon_hourly",
"storage_type": "s3",
"storage_url": "s3://my_bucket/batches",
"max_result_count": 10000,
"max_size_bytes": 524288000,
"schedule": "0 */1 * * *"
}'Parâmetros da requisição
name
Identificador exclusivo do agregador.
string
storage_type
Provedor de armazenamento ( s3, gcs, ou s3_compatible).
string
storage_url
Caminho do bucket/container de destino.
string
file_output_type
Formato de saída (json, jsonl, gzip_json, ou gzip_jsonl)
string
max_size_bytes
Limite máximo de tamanho do lote em bytes.
Máx: 1GB.
integer
schedule
Frequência de agregação em cron expression. (por exemplo, 0 */1 * * * para cada hora).
Máx: 1h.
string
max_result_count
Dispara a entrega quando a contagem de resultados atinge o limite.
integer
– parâmetro obrigatório.
Enviar requisições ao agregador
Depois que seu agregador for criado, você pode direcionar trabalhos de scraping para ele usando o parâmetro aggregate_name . Você não precisa especificar detalhes de armazenamento nessas requisições, o agregador cuida da entrega.
Exemplo de requisição
curl --user "USERNAME:PASSWORD" \
'https://data.oxylabs.io/v1/queries' \
-H "Content-Type: application/json" \
-d '{
"source": "universal",
"url": "https://www.example.com",
"aggregate_name": "amazon_hourly"
}'Recuperar info do agregador
Você pode verificar a configuração e as estatísticas de uso do seu agregador a qualquer momento.
Exemplo de requisição
GET https://data.oxylabs.io/v1/aggregators/{name}Exemplo de resposta
{
"name": "amazon_hourly",
"callback_url": "",
"storage_type": "s3",
"storage_url": "s3://my_bucket/path_for_aggregates",
"max_result_count": 1048576,
"max_size_bytes": 524288000,
"schedule": "0 */1 * * *",
"file_output_type": "jsonl",
"filename_prefix": "",
"filename_suffix": "",
"created_at": "2025-12-05T13:30:32Z",
"usage_statistics": {
"total_result_count": 0,
"total_bytes_delivered": 0,
"total_files_delivered": 0
}
}Entrega e Saída
Entrega automática
Um arquivo em lote é fechado e enviado quando qualquer uma das seguintes situações ocorre:
O
scheduleo limite de tempo é atingido (Máx: 1 hora).O
max_size_byteso limite de tamanho é atingido (Máx: 1GB).O
max_result_counto limite de resultados é atingido.
Entrega manual
Você pode forçar a entrega imediata do lote atual antes que os limites sejam atingidos usando o POST https://data.oxylabs.io/v1/aggregators/{name}/trigger endpoint como no exemplo abaixo:
curl -X POST https://data.oxylabs.io/v1/aggregators/amazon_hourly/trigger -u "USERNAME:PASSWORD"Estrutura de saída
Os arquivos de lote de saída são salvos no seu armazenamento com carimbos de data/hora únicos:
Atualizado
Isto foi útil?

