# Guia de Raspagem para IA

Este guia vai mostrar o fluxo de trabalho para coletar e filtrar dados do YouTube para fins de treinamento de IA usando [**as fontes especializadas do Web Scraper API**](https://oxylabs.io/products/scraper-api/web/youtube): `youtube_search`, `youtube_video_trainability`, `youtube_metadata`, `youtube_download`, `youtube_transcript`.

## Etapa 1: Pesquisar vídeos

Comece pesquisando vídeos relacionados ao seu tópico de interesse.

### Pesquisa básica

Para uma pesquisa rápida que retorna até 20 resultados:

```json
{
  "source": "youtube_search",
  "query": "seu termo de pesquisa"
}
```

### Pesquisa विस्तendida

Para resultados mais completos (até 700 resultados):

```json
{
  "source": "youtube_search_max",
  "query": "seu termo de pesquisa"
}
```

### Pesquisa com filtros

Refine sua pesquisa com filtros:

```json
{
  "source": "youtube_search",
  "query": "seu termo de pesquisa",
  "type": "video",
  "duration": "4-20",
  "upload_date": "this_month",
  "sort_by": "view_count",
  "hd": true
}
```

{% hint style="info" %}
Use os filtros apropriados para restringir os resultados com base nas suas necessidades específicas. As opções incluem tipo de conteúdo (vídeo, canal, playlist), duração, data de envio e configurações de qualidade.
{% endhint %}

## Etapa 2: Extrair IDs dos vídeos dos resultados da pesquisa

Após receber os resultados da pesquisa, extraia os **IDs dos vídeos** para processamento posterior. Na resposta de `youtube_search` ou `youtube_search_max`, os IDs dos vídeos estão disponíveis diretamente no campo `videoId` de cada item do resultado, como mostrado neste trecho de exemplo de resposta:

```json
{
    "results": [
        {
            "content": [
                {
                    "videoId": "LK9XuImr8Xg",  // Este é o ID do vídeo de que você precisa
                    "thumbnail": {
                        "thumbnails": [
                            {
                                "url": "https://i.ytimg.com/vi/LK9XuImr8Xg/hq720_2.jpg?sqp=-oaymwE2COgCEMoBSFXyq4qpAygIARUAAIhCGABwAcABBvABAfgBtgiAAoAPigIMCAAQARhaIGUoLTAP&rs=AOn4CLDTvqEgoE2ZNfnn3EalF2ujcthVNw",
                                "width": 360,
                                "height": 202
                            }
                        ]
                    },
                    "title": {
                        // detalhes do título
                    }
                }
            ]
        }
    ]
}
```

Extraia esses IDs dos vídeos para uma lista para uso em chamadas de API subsequentes.

## Etapa 3: Verificar elegibilidade para treinamento de IA

Antes de baixar ou usar vídeos para treinamento de IA, verifique a elegibilidade deles:

```json
{
  "source": "youtube_video_trainability",
  "video_id": "rFNDylrjn_w"
}
```

A resposta indicará se o vídeo pode ser usado para fins de treinamento de IA:

* `["all"]` - Treinamento permitido para todas as partes
* `["none"]` - Nenhum treinamento permitido para qualquer parte
* `["party1", "party2", ...]` - Treinamento permitido apenas para partes específicas

## Etapa 4: Obter metadados do vídeo&#x20;

Colete informações adicionais sobre os vídeos para avaliar melhor sua qualidade e relevância:

```json
{
  "source": "youtube_metadata",
  "query": "VIDEO_ID",
  "parse": true
}
```

A resposta conterá metadados como contagens de visualizações, comentários, avaliações e outras métricas que podem ajudar você a avaliar a qualidade do conteúdo.

{% hint style="success" %}
O `parse` o parâmetro deve ser definido como `true` para a fonte de metadados.
{% endhint %}

## Etapa 5: Recuperar conteúdo dos vídeos selecionados

Depois de identificar vídeos de alta qualidade e treináveis com base na elegibilidade e nos metadados, você pode prosseguir com a recuperação do conteúdo. Isso pode ser feito em duas etapas paralelas:

### 5.1 Baixar conteúdo de vídeo/áudio

```json
{
  "source": "youtube_download",
  "query": "VIDEO_ID",
  "storage_type": "s3",
  "storage_url": "s3://your-bucket/your-folder/"
}
```

Opções adicionais para download:

```json
{
  "source": "youtube_download",
  "query": "VIDEO_ID",
  "storage_type": "s3",
  "storage_url": "s3://your-bucket/your-folder/",
  "context": [
    {
      "key": "download_type",
      "value": "video"
    },
    {
      "key": "video_quality",
      "value": "1080"
    }
  ]
}
```

{% hint style="info" %}
Esta fonte está disponível apenas por meio da integração assíncrona [**Push-Pull**](broken://pages/96bd59a47464183d353aa5be5048ed9676911203) e [**Cloud Storage**](broken://pages/5410c2a027d1537ed19c3f68c860dfb825a65650) recurso.
{% endhint %}

**Observação:**

* Os vídeos podem ter até 3 horas de duração
* A resolução padrão é 720p (pode ser personalizada)
* Você pode especificar somente áudio, somente vídeo ou ambos

### 5.2 Recuperar transcrições do vídeo

{% hint style="danger" %}
Transcrições não são o mesmo que legendas ocultas (CC). Nem todos os vídeos têm transcrições disponíveis em todos os idiomas. Se uma transcrição não existir no idioma especificado, a API retornará um `404` código de status.
{% endhint %}

#### **Verificando se um vídeo tem transcrições:**

A maneira mais eficiente de verificar a disponibilidade de transcrições é examinando os metadados do vídeo [**(Etapa 4)**](#step-4-get-video-metadata), que incluem estes campos:

```json
{
    "is_transcript_available": true,
    "generated_subtitle_languages": [
        "en"
    ],
    "generated_transcript_languages": [
        "en"
    ]
}
```

{% hint style="info" %}
Essa abordagem é mais econômica do que fazer solicitações que resultam em `404` erros, que são cobrados.
{% endhint %}

Se os metadados mostrarem que as transcrições estão disponíveis, você pode recuperá-las com:

```json
{
  "source": "youtube_transcript",
  "query": "VIDEO_ID",
  "context": [
    {
      "key": "language_code",
      "value": "en"
    }
  ]
}
```

Para vídeos com transcrições criadas manualmente, especifique:

```json
{
  "source": "youtube_transcript",
  "query": "VIDEO_ID",
  "context": [
    {
      "key": "language_code",
      "value": "en"
    },
    {
      "key": "transcript_origin",
      "value": "uploader_provided"
    }
  ]
}
```

#### **Verificando se um vídeo tem transcrições (manualmente):**

No YouTube, clique no menu "..." abaixo do vídeo e procure por **"Show transcript"** nas opções do menu. Se essa opção estiver ausente, o vídeo não tem transcrições disponíveis. Quando estiver presente, você pode clicar nela para ver os idiomas de transcrição disponíveis.

## Processamento em lote

Para um processamento eficiente de vários vídeos, use endpoints em lote:

```json
{
  "source": "youtube_video_trainability",
  "query": ["VIDEO_ID_1", "VIDEO_ID_2", "VIDEO_ID_3"]
}
```

## Melhores práticas

1. Siga o fluxo de descoberta de **pesquisa → trainability → metadados → conteúdo** para maximizar a eficiência
2. Restrinja os resultados da pesquisa antes de processar vídeos individuais
3. Sempre verifique a treinabilidade antes de usar conteúdo para IA
4. Verifique [**códigos de resposta**](/products/pt-br/web-scraper-api/response-codes.md) e implemente tentativas de nova execução para solicitações com falha


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.oxylabs.io/api-targets/pt-br/video-e-midias-sociais/youtube/youtube-scraping-guide-for-ai.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
