Pular para o conteúdo principal

SE::YouTube::Video - scraper de dados de vídeos do YouTube

Visão geral do scraper

Scraper de dados de vídeos no YouTube. Graças a este scraper, você poderá extrair todos os principais dados sobre vídeos, bem como legendas e comentários. Como consultas, devem ser usados links para páginas de vídeos no Youtube. É possível coletar links de vídeos usando o SE::YouTubeSE::YouTube. Utilizando o scraper de vídeos do youtube, é possível coletar todos os dados do vídeo em modo de processamento em múltiplas threads.

A funcionalidade do A-Parser permite salvar as configurações de extração de dados do scraper SE::YouTube::Video para uso posterior (predefinições), definir cronogramas de extração de dados e muito mais.

A gravação dos resultados é possível na forma e estrutura que você necessita, graças ao poderoso modelo integrado Template Toolkit que permite aplicar lógica adicional aos resultados e exibir dados em vários formatos, incluindo JSON, SQL e CSV.

Dados coletados

  • Título e descrição do vídeo
  • Duração do vídeo
  • Número de visualizações, curtidas e comentários
  • Link para a prévia (thumbnail)
  • Nome do autor, links para seu avatar e canal, bem como o número de inscritos
  • Legendas do vídeo (incluindo informações sobre o tempo de exibição)
  • Lista de tags
  • Lista de comentários (incluindo respostas aos comentários)
    • Id do comentário e do comentário pai (para respostas)
    • Nome do autor, link para o perfil e avatar
    • Texto do comentário e hora da publicação
  • Lista de vídeos semelhantes
    • Link e título do vídeo
    • Autor e data
    • Número de visualizações e duração do vídeo
  • Informações sobre partes do vídeo ($chapters)
    • Título, tempo de início em segundos e link para a imagem de prévia

Recursos

  • Escolha do idioma da interface
  • Escolha do idioma das legendas
  • Especificação do número de páginas de comentários (cada página tem aproximadamente 20 comentários)
  • Especificação do número máximo de páginas de respostas para cada comentário (na primeira página aproximadamente 10 respostas, nas seguintes - aproximadamente 50)
  • Especificação do número de páginas de vídeos semelhantes (cada página tem aproximadamente 20 vídeos)
  • Suporte para Shorts

Casos de uso

  • Coleta de dados estatísticos sobre vídeos no Youtube
  • Extração de dados de legendas e comentários como fonte de textos
  • Busca de vídeos semelhantes

Particularidades de funcionamento

Lógica de seleção do idioma das legendas

O scraper utiliza a seguinte prioridade (em ordem decrescente): do autor, do autor traduzidas, geradas, geradas traduzidas.

Por exemplo, se o scraper estiver configurado para extrair legendas em inglês, então:

  • se o vídeo tiver legendas em inglês do autor - serão extraídas as do autor
  • se o vídeo tiver legendas do autor, mas em outro idioma - serão extraídas as do autor traduzidas para o inglês
  • se o vídeo não tiver legendas do autor, mas tiver legendas geradas em inglês - serão extraídas as geradas
  • se o vídeo não tiver legendas do autor e as geradas estiverem em outro idioma (pois o vídeo está em outro idioma) - serão extraídas as geradas traduzidas

Extração de dados de comentários

Os comentários são coletados em uma única thread, portanto, sua extração de dados pode ser bastante demorada, especialmente ao extrair um grande número de páginas e respostas. Não é recomendado definir um grande número de páginas de respostas, geralmente 1-3 é suficiente, ou você pode desativar completamente a extração de respostas - isso acelerará significativamente o trabalho.

Consultas

Como consultas, é necessário indicar links para os vídeos, por exemplo:

https://www.youtube.com/watch?v=lWA2pjMjpBs
https://www.youtube.com/watch?v=EDwb9jOVRtU
https://www.youtube.com/watch?v=5NPBIwQyPWE

Opções de exibição de resultados

O A-Parser suporta formatação flexível de resultados graças ao modelo integrado Template Toolkit, o que permite exibir resultados de forma arbitrária, bem como estruturada, por exemplo CSV ou JSON

Exibição padrão

Formato do resultado:

$query - $title\nViews: $viewsCount, likes: $likesCount, comments: $commentsCount\n

Como resultado, serão exibidos o link do vídeo, seu título, número de curtidas, visualizações e comentários:

https://www.youtube.com/watch?v=5NPBIwQyPWE - Avril Lavigne - Complicated (Official Video)
Views: 571331713, likes: 3959948, comments: 143597
https://www.youtube.com/watch?v=EDwb9jOVRtU - Madonna - Hung Up (Official Video) [HD]
Views: 414662791, likes: 2153344, comments: 91895
https://www.youtube.com/watch?v=lWA2pjMjpBs - Rihanna - Diamonds
Views: 2104207258, likes: 10235971, comments: 394622

Exibição de legendas

Formato do resultado:

$query\n$subtitles.format('$text ')\n\n

Como resultado, serão exibidos o link do vídeo e as legendas no idioma definido.

Exibição em tabela CSV

A ferramenta integrada tools.CSVLine permite criar documentos de tabela corretos, prontos para importação no Excel ou Google Sheets.

Formato geral do resultado:

[% tools.CSVline(query, p1.author, p1.date, p1.duration, p1.title, p1.viewsCount, p1.likesCount, p1.commentsCount, p1.tags.format('$tag,')) %]

Nome do arquivo:

$datefile.format().csv

Texto inicial:

Link,Author,"Publish date",Duration,Title,"Views count","Likes count","Comments count",Tags

dica

No Formato geral de resultados aplica-se o modelo Template Toolkit.

No nome do arquivo de resultados, basta alterar a extensão do arquivo para csv.

Para que a opção "Prepend text" esteja disponível no Editor de tarefas, é necessário ativar "More options". No "Prepend text", escrevemos os nomes das colunas separados por vírgula e deixamos a segunda linha vazia.

Configurações possíveis

Nome do parâmetroValor padrãoDescrição
Interface languageEnglishEscolha do idioma da interface
Subtitles languageEnglishEscolha do idioma das legendas
Comments pages count5Quantidade de páginas de comentários
Pages count for replies3Quantidade de páginas de respostas para cada comentário
Pages count for related videos5Quantidade de páginas com vídeos semelhantes
Login required is errorIndica ao scraper para considerar a mensagem de necessidade de autorização como erro e repetir as tentativas