2013-06-17 20 views
9

Desidero ottenere l'effettivo URL del file video da un video incorporato su qualsiasi sito Web. In sostanza non è YouTube. Può essere qualsiasi sito web. Sto codificando per Android su Java.Come posso ottenere l'URL corretto per il file video da un video incorporato?

Per esempio: La cosa che voglio fare è uguale a questo pulsante IDM fa:

IDM "Download this video" Button

[In realtà non è la stessa perché il pulsante si cattura un flusso di rete quando viene avviata dal giocatore. Ma voglio ottenere il file direttamente dal lettore.] C'è un modo per raggiungere questo? Può qualsiasi libreria esterna [ad es. Jsoup] fai questo?

Sto già utilizzando Jsoup per ottenere altri contenuti della pagina ma non ho idea di come farlo.

+0

Nessun problema! L'ho già capito. Ma sarebbe meglio se qualcuno mi descrivesse un metodo universale che funzioni per ogni video incorporato. In questo video aveva l'URL esposto nella sorgente come una query. Avevo solo bisogno di scoprirlo. Quindi, Jsoup sarebbe in grado di farlo – Writwick

+0

Quale giocatore usi? Se il giocatore è diverso ogni volta, come quando apri la pagina web dal browser, prendi la cartella cache: getApplicationContext(). GetCacheDir() e cerca alcuni file con una determinata estensione (dovrai elencarli (avi, 3gp ecc.), se questo è ciò che intendi con il file "dritto" dal giocatore (non riesco a pensare in nessun altro modo) – g00dy

+0

In realtà, ho detto che sarebbe bello se fosse un universale metodo. [Ho trovato la soluzione per il giocatore in particolare, ma in futuro vorrei includere anche il supporto per gli altri, ed è per questo.] So che è un po 'complicato, ma non so se c'è una soluzione migliore di catturare il flusso proprio come IDM e userò nient'altro che un'app standalone che sarebbe in streaming video quindi non c'è dubbio sul browser. – Writwick

risposta

-1

Come forse sapete che diversi siti Web hanno diverse strategie di download dei video, alcuni potrebbero fornire un vero URL nel file html per il download diretto, altri potrebbero semplicemente restituire lo streaming video mentre si fa clic sul pulsante o sullo schermo sensibile.
mentre così tante diverse strategie sul download di video è davvero difficile per te trovare un modo universale per recuperare un vero url per avviare un'attività di download. Ma qui ho un'idea, non così intelligente, può essere molto stupida:

1. riprodurre un video in background (per consentire al browser di scaricare quel video nella cache del browser).
2.find quel file di cache ed estrai il file video che desideri.

per me, di solito ho alcuni video che desidero ma non posso essere scaricato direttamente, quindi userò IE per riprodurre quel video e trovare quel video nella cartella temporanea di IE. vorrei poterti aiutare!

+5

Come forse hai visto, sto cercando di farlo su Android. Non c'è IE. Inoltre non c'è supporto flash in androidi 4.1+. Quindi non posso sempre riprodurre il video per catturare il flusso. Se fai un po 'di ricerca con gli strumenti di sviluppo di Chrome, puoi vedere che si apre un nuovo flusso quando fai clic sul pulsante di riproduzione. Da lì un URL per il file di streaming può essere ottenuto senza problemi. Ma in nessun modo posso riprodurre il video nel browser Android o nella webview in modo dinamico, almeno non riesco a pensare a nessun modo. E di flash, non è supportato in 4.0+. Quindi devo fare un altro giro ... – Writwick

+0

grazie per il tuo consiglio, che mi illumina davvero! – Rugal

1

Se si utilizza jsoup è possibile ottenere l'URL abbastanza facilmente. Basta usare jsoup per selezionare tutti i possibili tag video (, <videos>, <embed>, ecc.). Quindi ottenere l'attributo src e memorizzare che dove vuoi:

Esempio

//Standard Jsoup search 
Elements iframes = body.select("iframe"); 

/*Gets the src of all the iframes or other tag, and if you have 
multiple videos you might have to do this in a for loop.*/  
String videoURL = iframes.attr("src"); 
+2

Non penso che il campo 'src' contenga l'URL diretto al file video. Se contenesse, non avrei postato questa domanda qui! Ho accuratamente controllato il codice html del sito (e ho deciso di usare jsoup per analizzarlo per ottenere informazioni) ma non ho trovato l'URL nella fonte. Anche io scommetto che non può contenere l'URL diretto. Molto probabilmente contiene il link alla pagina in cui il video è incorporato in modo che possa visualizzare il contenuto della pagina all'interno dei tag iframe o simili ... – Writwick

Problemi correlati