Agregador de resultados
Aprenda a retornar várias respostas da Web Scraper API como uma única saída maior usando o Agregador de resultados.
O Agregador de Resultados permite coletar vários resultados pequenos de tarefas separadas de scraping ou parsing em um único arquivo agregado. Isso é mais útil quando você executa várias tarefas que retornam muitos arquivos pequenos que podem 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 usar
Criar um agregador
Primeiro, defina uma instância de agregador com o destino de armazenamento de entrega e os 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 (agendamento cron) ou quando o arquivo atinge 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.
cadeia de caracteres
storage_type
Provedor de armazenamento ( s3, gcs, ou s3_compatible).
cadeia de caracteres
storage_url
Caminho do bucket/contêiner de destino.
cadeia de caracteres
file_output_type
Formato de saída (json, jsonl, gzip_json, ou gzip_jsonl)
cadeia de caracteres
max_size_bytes
Limite máximo de tamanho do lote em bytes.
Máx: 1GB.
inteiro
schedule
Frequência de agregação em expressão cron. (por exemplo, 0 */1 * * * para cada hora).
Máx: 1h.
cadeia de caracteres
max_result_count
Aciona a entrega quando a contagem de resultados atinge o limite.
inteiro
– parâmetro obrigatório.
Enviar requisições ao agregador
Depois que seu agregador for criado, você pode direcionar tarefas de scraping para ele usando o aggregate_name parâmetro. 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 informações 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
}
}Outras operações
Listar todos os agregadores:
GET https://data.oxylabs.io/v1/aggregators— retorna{"aggregators": [...]}.Excluir um agregador:
DELETE https://data.oxylabs.io/v1/aggregators/{name}
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:
Estrutura de saída
Os arquivos de lote de saída são salvos no seu armazenamento com carimbos de data e hora exclusivos:
Atualizado
Isto foi útil?