Vai al contenuto principale

SE::YouTube::Video - Scraper di dati video su YouTube

Panoramica dello scraper

Scraper di dati sui video di YouTube. Grazie a questo scraper potrai estrarre tutti i dati principali sui video, oltre a sottotitoli e commenti. Come query, è necessario utilizzare i link alle pagine dei video su YouTube. È possibile raccogliere i link ai video utilizzando SE::YouTubeSE::YouTube. Utilizzando lo scraper di video YouTube è possibile raccogliere tutti i dati del video in modalità multithreading.

La funzionalità di A-Parser consente di salvare le impostazioni di scraping dello scraper SE::YouTube::Video per un uso futuro (preset), impostare programmi di scraping e molto altro.

Il salvataggio dei risultati è possibile nella forma e nella struttura necessarie, grazie al potente motore di modelli integrato Template Toolkit che consente di applicare logica aggiuntiva ai risultati e di esportare i dati in vari formati, tra cui JSON, SQL e CSV.

Dati raccolti

  • Titolo e descrizione del video
  • Durata del video
  • Numero di visualizzazioni, like e commenti
  • Link all'anteprima (thumbnail)
  • Nome dell'autore, link al suo avatar e al canale, nonché numero di iscritti
  • Sottotitoli del video (inclusi i timestamp)
  • Elenco dei tag
  • Elenco dei commenti (incluse le risposte ai commenti)
    • ID del commento e del commento genitore (per le risposte)
    • Nome dell'autore, link al profilo e avatar
    • Testo del commento e data di pubblicazione
  • Elenco dei video correlati
    • Link e titolo del video
    • Autore e data
    • Numero di visualizzazioni e durata del video
  • Informazioni sulle parti del video ($chapters)
    • Titolo, tempo di inizio in secondi e link all'immagine di anteprima

Funzionalità

  • Scelta della lingua dell'interfaccia
  • Scelta della lingua dei sottotitoli
  • Indicazione del numero di pagine di commenti (circa 20 commenti per pagina)
  • Indicazione del numero massimo di pagine di risposte per ogni commento (circa 10 risposte nella prima pagina, circa 50 nelle successive)
  • Indicazione del numero di pagine di video correlati (circa 20 video per pagina)
  • Supporto per gli Shorts

Casi d'uso

  • Raccolta di dati statistici sui video di YouTube
  • Scraping di sottotitoli e commenti come fonte di testi
  • Ricerca di video simili

Caratteristiche operative

Logica di selezione della lingua dei sottotitoli

Lo scraper utilizza la seguente priorità (in ordine decrescente): dell'autore, dell'autore tradotti, generati, generati tradotti.

Ad esempio, se nello scraper è impostato lo scraping dei sottotitoli in inglese, allora:

  • se il video ha sottotitoli in inglese dell'autore - verranno estratti quelli dell'autore
  • se il video ha sottotitoli dell'autore, ma in un'altra lingua - verranno estratti quelli dell'autore tradotti in inglese
  • se il video non ha sottotitoli dell'autore, ma ne ha di generati in inglese - verranno estratti quelli generati
  • se il video non ha sottotitoli dell'autore e quelli generati sono in un'altra lingua (poiché il video è in un'altra lingua) - verranno estratti quelli generati tradotti

Scraping dei commenti

I commenti vengono raccolti in un unico thread, quindi il loro scraping può essere piuttosto lungo, specialmente quando si esegue lo scraping di un gran numero di pagine e delle risposte. Si sconsiglia di impostare un numero elevato di pagine di risposte, solitamente 1-3 sono sufficienti, oppure è possibile disattivare completamente lo scraping delle risposte per velocizzare notevolmente il lavoro.

Query

Come query è necessario indicare i link ai video, ad esempio:

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

Esempi di formattazione dei risultati

A-Parser supporta una formattazione flessibile dei risultati grazie al motore di modelli integrato Template Toolkit, che gli consente di produrre risultati in forma libera o strutturata, come CSV o JSON

Output predefinito

Formato del risultato:

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

Il risultato mostrerà il link al video, il suo titolo, il numero di like, visualizzazioni e commenti:

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

Output dei sottotitoli

Formato del risultato:

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

Il risultato mostrerà il link al video e i sottotitoli nella lingua specificata.

Output in tabella CSV

Lo strumento integrato tools.CSVLine consente di creare documenti tabulari corretti, pronti per l'importazione in Excel o Google Fogli.

Formato generale del risultato:

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

Nome del file:

$datefile.format().csv

Testo iniziale:

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

suggerimento

Nel Formato generale dei risultati viene applicato il motore di modelli Template Toolkit.

Nel nome del file dei risultati è sufficiente cambiare l'estensione del file in csv.

Affinché l'opzione "Prepend text" sia disponibile nell'Editor delle attività, è necessario attivare "More options". In "Prepend text" scriviamo i nomi delle colonne separati da virgola e lasciamo la seconda riga vuota.

Impostazioni possibili

Nome parametroValore predefinitoDescrizione
Interface languageEnglishScelta della lingua dell'interfaccia
Subtitles languageEnglishScelta della lingua dei sottotitoli
Comments pages count5Numero di pagine di commenti
Pages count for replies3Numero di pagine di risposte per ogni commento
Pages count for related videos5Numero di pagine con video correlati
Login required is errorIndica allo scraper di considerare il messaggio di necessità di autorizzazione come un errore e riprovare