2012-12-23 10 views
18

Sto riscontrando problemi nell'estrazione di sottotitoli automatici dai video di YouTube.Estrai didascalie automatiche dal video di YouTube

Ho provato a utilizzare il metodo http://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=en, ma quello funziona solo per quei video che hanno il nome di tracce. Ad esempio, questo non ha alcuna traccia di nome (solo voce automatica) e non carica fino: rrkrvAUbU9Y

Ci sono diverse applicazioni web là fuori che può farlo (come http://www.serpsite.com/youtube-subtitles-download-tool/ e http://mo.dbxdb.com/), ma io ho bisogno di una sceneggiatura, perché voglio usarla per la mia ricerca.

Chiunque ha qualche idea qual è il modo corretto per ottenere questo? L'API di YouTube ha qualcosa sulle didascalie, ma solo per gli utenti registrati, mentre le app sopra funzionano per tutti i video e dubito che catturino il codice html dalla pagina (anche se è possibile). Ci deve essere un modo ... per favore aiuto!

+1

Qual è la ragione per la quale non sarà possibile utilizzare l'API come utente registrato? – Drifter

+0

@Drifter: lo chiedi come se avere un account YouTube fosse il diritto di nascita di tutti. Solo perché ne hai uno, non significa che tutti possano averne uno. A molte persone è vietato legalmente l'utilizzo di un account YouTube per la vita. Altri sono negati arbitrariamente alla registrazione senza motivo. Altri hanno già abbastanza account altrove e non potrebbero gestirne di più; mantenere le credenziali e avere un account è sia un onere che una responsabilità. Altri non hanno voglia di essere monitorati. – 7vujy0f0hy

risposta

1

Un ottimo modo di andare per ottenere i dati da una pagina è quello di utilizzare file_get_contents però questo funziona solo se il video ha un pulsante 'CC' o didascalie, ma quando lo fa si può ottenere tutti gli elementi di testo dal xml purtroppo, come documentato da uno dei servizi 'Youtube to caption', ha affermato che ha bisogno di didascalie abilitate da youtuber per ottenere le didascalie, quindi sfortunatamente non è possibile ottenere didascalie dai video senza 'CC' abilitato, tuttavia se si desidera comunque è possibile utilizzare file_get_contents su il file xml quindi trova tutti i tag 'testo' e li trasforma in sottotitoli.

1

è necessario chiamare un'altra API prima: http://video.google.com/timedtext?type=list&v=3wszM2SA12E

Questo ti darà la lista dei brani disponibili. Nel tuo caso è possibile ottenere solo una traccia: id="0" name="Automatic" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"

In questo particolare video potrei indirizzare la traccia per name=Automatic solo per alcuni motivi. Ma per un altro video ha funzionato bene:

http://video.google.com/timedtext?type=track&v=zenMEj0cAC4&id=0&lang=en

Problemi correlati